Developer World
Spresense SDK Library v3.2.0-ebc0364
video.h File Reference
#include <stdint.h>
#include <sys/time.h>
#include <nuttx/fs/ioctl.h>
#include <nuttx/video/video_controls.h>

Go to the source code of this file.

Classes

struct  v4l2_capability
 
struct  v4l2_rect
 
struct  v4l2_fract
 
struct  v4l2_selection
 
struct  v4l2_standard
 
struct  v4l2_requestbuffers
 parameter of ioctl(VIDIOC_REQBUFS) More...
 
struct  v4l2_timecode
 
struct  v4l2_plane
 
struct  v4l2_buffer
 Parameter of ioctl(VIDIOC_QBUF) and ioctl(VIDIOC_DQBUF).
Currently, support only index, type, bytesused, memory, m.userptr, and length. More...
 
struct  v4l2_fmtdesc
 parameter of ioctl(VIDIOC_ENUM_FMT) More...
 
struct  v4l2_frmsize_discrete
 
struct  v4l2_frmsize_stepwise
 
struct  v4l2_frmsizeenum
 parameter of ioctl(VIDIOC_ENUM_FRAMESIZES) More...
 
struct  v4l2_frmival_stepwise
 
struct  v4l2_frmivalenum
 parameter of ioctl(VIDIOC_ENUM_FRAMEINTERVALS) More...
 
struct  v4l2_pix_format
 
struct  v4l2_format
 parameter of ioctl(VIDIOC_S_FMT) More...
 
struct  v4l2_captureparm
 
struct  v4l2_streamparm
 parameter of ioctl(VIDIOC_S_PARM) More...
 
struct  v4l2_queryctrl
 parameter of ioctl(VIDIOC_QUERYCTRL) More...
 
struct  v4l2_query_ext_ctrl
 parameter of ioctl(VIDIOC_QUERY_EXT_CTRL) More...
 
struct  v4l2_querymenu
 parameter of ioctl(VIDIOC_QUERYMENU) More...
 
struct  v4l2_input
 
struct  v4l2_output
 
struct  v4l2_control
 parameter of ioctl(VIDIOC_G_CTRL / VIDIOC_S_CTRL) More...
 
struct  v4l2_ext_control
 
struct  v4l2_ext_controls
 parameter of ioctl(VIDIOC_G_EXT_CTRLS / VIDIOC_S_EXT_CTRLS) More...
 
struct  v4s_ext_controls_scene
 parameter of ioctl(V4SIOC_S_EXT_CTRLS_SCENE / V4SIOC_G_EXT_CTRLS_SCENE) More...
 
struct  v4s_query_ext_ctrl_scene
 parameter of ioctl(V4SIOC_QUERY_EXT_CTRL_SCENE) More...
 
struct  v4s_querymenu_scene
 parameter of ioctl(V4SIOC_QUERYMENU_SCENE) More...
 

Macros

#define VIDIOC_QUERYCAP   _VIDIOC(0x0000)
 
#define VIDIOC_ENUM_FMT   _VIDIOC(0x0002)
 
#define VIDIOC_G_FMT   _VIDIOC(0x0004)
 
#define VIDIOC_S_FMT   _VIDIOC(0x0005)
 
#define VIDIOC_REQBUFS   _VIDIOC(0x0008)
 
#define VIDIOC_QUERYBUF   _VIDIOC(0x0009)
 
#define VIDIOC_G_FBUF   _VIDIOC(0x000a)
 
#define VIDIOC_S_FBUF   _VIDIOC(0x000b)
 
#define VIDIOC_OVERLAY   _VIDIOC(0x000e)
 
#define VIDIOC_QBUF   _VIDIOC(0x000f)
 
#define VIDIOC_EXPBUF   _VIDIOC(0x0010)
 
#define VIDIOC_DQBUF   _VIDIOC(0x0011)
 
#define VIDIOC_STREAMON   _VIDIOC(0x0012)
 
#define VIDIOC_STREAMOFF   _VIDIOC(0x0013)
 
#define VIDIOC_G_PARM   _VIDIOC(0x0015)
 
#define VIDIOC_S_PARM   _VIDIOC(0x0016)
 
#define VIDIOC_G_STD   _VIDIOC(0x0017)
 
#define VIDIOC_S_STD   _VIDIOC(0x0018)
 
#define VIDIOC_ENUMSTD   _VIDIOC(0x0019)
 
#define VIDIOC_ENUMINPUT   _VIDIOC(0x001a)
 
#define VIDIOC_G_CTRL   _VIDIOC(0x001b)
 
#define VIDIOC_S_CTRL   _VIDIOC(0x001c)
 
#define VIDIOC_QUERYCTRL   _VIDIOC(0x0024)
 
#define VIDIOC_QUERYMENU   _VIDIOC(0x0025)
 
#define VIDIOC_G_INPUT   _VIDIOC(0x0026)
 
#define VIDIOC_S_INPUT   _VIDIOC(0x0027)
 
#define VIDIOC_QUERYSTD   _VIDIOC(0x003f)
 
#define VIDIOC_TRY_FMT   _VIDIOC(0x0040)
 
#define VIDIOC_G_EXT_CTRLS   _VIDIOC(0x0047)
 
#define VIDIOC_S_EXT_CTRLS   _VIDIOC(0x0048)
 
#define VIDIOC_TRY_EXT_CTRLS   _VIDIOC(0x0049)
 
#define VIDIOC_ENUM_FRAMESIZES   _VIDIOC(0x004a)
 
#define VIDIOC_ENUM_FRAMEINTERVALS   _VIDIOC(0x004b)
 
#define VIDIOC_G_SELECTION   _VIDIOC(0x005e)
 
#define VIDIOC_S_SELECTION   _VIDIOC(0x005f)
 
#define VIDIOC_QUERY_EXT_CTRL   _VIDIOC(0x00c0)
 
#define VIDIOC_CANCEL_DQBUF   _VIDIOC(0x00c1)
 
#define VIDIOC_DO_HALFPUSH   _VIDIOC(0x00c2)
 
#define VIDIOC_TAKEPICT_START   _VIDIOC(0x00c3)
 
#define VIDIOC_TAKEPICT_STOP   _VIDIOC(0x00c4)
 
#define V4SIOC_QUERY_EXT_CTRL_SCENE   _VIDIOC(0x00c5)
 
#define V4SIOC_QUERYMENU_SCENE   _VIDIOC(0x00c6)
 
#define V4SIOC_G_EXT_CTRLS_SCENE   _VIDIOC(0x00c7)
 
#define V4SIOC_S_EXT_CTRLS_SCENE   _VIDIOC(0x00c8)
 
#define VIDEO_HSIZE_QVGA   (320)
 
#define VIDEO_VSIZE_QVGA   (240)
 
#define VIDEO_HSIZE_VGA   (640)
 
#define VIDEO_VSIZE_VGA   (480)
 
#define VIDEO_HSIZE_QUADVGA   (1280)
 
#define VIDEO_VSIZE_QUADVGA   (960)
 
#define VIDEO_HSIZE_HD   (1280)
 
#define VIDEO_VSIZE_HD   (720)
 
#define VIDEO_HSIZE_FULLHD   (1920)
 
#define VIDEO_VSIZE_FULLHD   (1080)
 
#define VIDEO_HSIZE_5M   (2560)
 
#define VIDEO_VSIZE_5M   (1920)
 
#define VIDEO_HSIZE_3M   (2048)
 
#define VIDEO_VSIZE_3M   (1536)
 
#define v4l2_fourcc(a, b, c, d)
 
#define v4l2_fourcc_be(a, b, c, d)   (v4l2_fourcc(a, b, c, d) | (1 << 31))
 
#define V4L2_PIX_FMT_RGB332   v4l2_fourcc('R', 'G', 'B', '1')
 
#define V4L2_PIX_FMT_RGB444   v4l2_fourcc('R', '4', '4', '4')
 
#define V4L2_PIX_FMT_ARGB444   v4l2_fourcc('A', 'R', '1', '2')
 
#define V4L2_PIX_FMT_XRGB444   v4l2_fourcc('X', 'R', '1', '2')
 
#define V4L2_PIX_FMT_RGB555   v4l2_fourcc('R', 'G', 'B', 'O')
 
#define V4L2_PIX_FMT_ARGB555   v4l2_fourcc('A', 'R', '1', '5')
 
#define V4L2_PIX_FMT_XRGB555   v4l2_fourcc('X', 'R', '1', '5')
 
#define V4L2_PIX_FMT_RGB565   v4l2_fourcc('R', 'G', 'B', 'P')
 
#define V4L2_PIX_FMT_RGB555X   v4l2_fourcc('R', 'G', 'B', 'Q')
 
#define V4L2_PIX_FMT_ARGB555X   v4l2_fourcc_be('A', 'R', '1', '5')
 
#define V4L2_PIX_FMT_XRGB555X   v4l2_fourcc_be('X', 'R', '1', '5')
 
#define V4L2_PIX_FMT_RGB565X   v4l2_fourcc('R', 'G', 'B', 'R')
 
#define V4L2_PIX_FMT_BGR666   v4l2_fourcc('B', 'G', 'R', 'H')
 
#define V4L2_PIX_FMT_BGR24   v4l2_fourcc('B', 'G', 'R', '3')
 
#define V4L2_PIX_FMT_RGB24   v4l2_fourcc('R', 'G', 'B', '3')
 
#define V4L2_PIX_FMT_BGR32   v4l2_fourcc('B', 'G', 'R', '4')
 
#define V4L2_PIX_FMT_ABGR32   v4l2_fourcc('A', 'R', '2', '4')
 
#define V4L2_PIX_FMT_XBGR32   v4l2_fourcc('X', 'R', '2', '4')
 
#define V4L2_PIX_FMT_RGB32   v4l2_fourcc('R', 'G', 'B', '4')
 
#define V4L2_PIX_FMT_ARGB32   v4l2_fourcc('B', 'A', '2', '4')
 
#define V4L2_PIX_FMT_XRGB32   v4l2_fourcc('B', 'X', '2', '4')
 
#define V4L2_PIX_FMT_GREY   v4l2_fourcc('G', 'R', 'E', 'Y')
 
#define V4L2_PIX_FMT_Y4   v4l2_fourcc('Y', '0', '4', ' ')
 
#define V4L2_PIX_FMT_Y6   v4l2_fourcc('Y', '0', '6', ' ')
 
#define V4L2_PIX_FMT_Y10   v4l2_fourcc('Y', '1', '0', ' ')
 
#define V4L2_PIX_FMT_Y12   v4l2_fourcc('Y', '1', '2', ' ')
 
#define V4L2_PIX_FMT_Y16   v4l2_fourcc('Y', '1', '6', ' ')
 
#define V4L2_PIX_FMT_Y16_BE   v4l2_fourcc_be('Y', '1', '6', ' ')
 
#define V4L2_PIX_FMT_Y10BPACK   v4l2_fourcc('Y', '1', '0', 'B')
 
#define V4L2_PIX_FMT_PAL8   v4l2_fourcc('P', 'A', 'L', '8')
 
#define V4L2_PIX_FMT_UV8   v4l2_fourcc('U', 'V', '8', ' ')
 
#define V4L2_PIX_FMT_YUYV   v4l2_fourcc('Y', 'U', 'Y', 'V')
 
#define V4L2_PIX_FMT_YYUV   v4l2_fourcc('Y', 'Y', 'U', 'V')
 
#define V4L2_PIX_FMT_YVYU   v4l2_fourcc('Y', 'V', 'Y', 'U')
 
#define V4L2_PIX_FMT_UYVY   v4l2_fourcc('U', 'Y', 'V', 'Y')
 
#define V4L2_PIX_FMT_VYUY   v4l2_fourcc('V', 'Y', 'U', 'Y')
 
#define V4L2_PIX_FMT_Y41P   v4l2_fourcc('Y', '4', '1', 'P')
 
#define V4L2_PIX_FMT_YUV444   v4l2_fourcc('Y', '4', '4', '4')
 
#define V4L2_PIX_FMT_YUV555   v4l2_fourcc('Y', 'U', 'V', 'O')
 
#define V4L2_PIX_FMT_YUV565   v4l2_fourcc('Y', 'U', 'V', 'P')
 
#define V4L2_PIX_FMT_YUV32   v4l2_fourcc('Y', 'U', 'V', '4')
 
#define V4L2_PIX_FMT_HI240   v4l2_fourcc('H', 'I', '2', '4')
 
#define V4L2_PIX_FMT_HM12   v4l2_fourcc('H', 'M', '1', '2')
 
#define V4L2_PIX_FMT_M420   v4l2_fourcc('M', '4', '2', '0')
 
#define V4L2_PIX_FMT_NV12   v4l2_fourcc('N', 'V', '1', '2')
 
#define V4L2_PIX_FMT_NV21   v4l2_fourcc('N', 'V', '2', '1')
 
#define V4L2_PIX_FMT_NV16   v4l2_fourcc('N', 'V', '1', '6')
 
#define V4L2_PIX_FMT_NV61   v4l2_fourcc('N', 'V', '6', '1')
 
#define V4L2_PIX_FMT_NV24   v4l2_fourcc('N', 'V', '2', '4')
 
#define V4L2_PIX_FMT_NV42   v4l2_fourcc('N', 'V', '4', '2')
 
#define V4L2_PIX_FMT_NV12M   v4l2_fourcc('N', 'M', '1', '2')
 
#define V4L2_PIX_FMT_NV21M   v4l2_fourcc('N', 'M', '2', '1')
 
#define V4L2_PIX_FMT_NV16M   v4l2_fourcc('N', 'M', '1', '6')
 
#define V4L2_PIX_FMT_NV61M   v4l2_fourcc('N', 'M', '6', '1')
 
#define V4L2_PIX_FMT_NV12MT   v4l2_fourcc('T', 'M', '1', '2')
 
#define V4L2_PIX_FMT_NV12MT_16X16   v4l2_fourcc('V', 'M', '1', '2')
 
#define V4L2_PIX_FMT_YUV410   v4l2_fourcc('Y', 'U', 'V', '9')
 
#define V4L2_PIX_FMT_YVU410   v4l2_fourcc('Y', 'V', 'U', '9')
 
#define V4L2_PIX_FMT_YUV411P   v4l2_fourcc('4', '1', '1', 'P')
 
#define V4L2_PIX_FMT_YUV420   v4l2_fourcc('Y', 'U', '1', '2')
 
#define V4L2_PIX_FMT_YVU420   v4l2_fourcc('Y', 'V', '1', '2')
 
#define V4L2_PIX_FMT_YUV422P   v4l2_fourcc('4', '2', '2', 'P')
 
#define V4L2_PIX_FMT_YUV420M   v4l2_fourcc('Y', 'M', '1', '2')
 
#define V4L2_PIX_FMT_YVU420M   v4l2_fourcc('Y', 'M', '2', '1')
 
#define V4L2_PIX_FMT_YUV422M   v4l2_fourcc('Y', 'M', '1', '6')
 
#define V4L2_PIX_FMT_YVU422M   v4l2_fourcc('Y', 'M', '6', '1')
 
#define V4L2_PIX_FMT_YUV444M   v4l2_fourcc('Y', 'M', '2', '4')
 
#define V4L2_PIX_FMT_YVU444M   v4l2_fourcc('Y', 'M', '4', '2')
 
#define V4L2_PIX_FMT_SBGGR8   v4l2_fourcc('B', 'A', '8', '1')
 
#define V4L2_PIX_FMT_SGBRG8   v4l2_fourcc('G', 'B', 'R', 'G')
 
#define V4L2_PIX_FMT_SGRBG8   v4l2_fourcc('G', 'R', 'B', 'G')
 
#define V4L2_PIX_FMT_SRGGB8   v4l2_fourcc('R', 'G', 'G', 'B')
 
#define V4L2_PIX_FMT_SBGGR10   v4l2_fourcc('B', 'G', '1', '0')
 
#define V4L2_PIX_FMT_SGBRG10   v4l2_fourcc('G', 'B', '1', '0')
 
#define V4L2_PIX_FMT_SGRBG10   v4l2_fourcc('B', 'A', '1', '0')
 
#define V4L2_PIX_FMT_SRGGB10   v4l2_fourcc('R', 'G', '1', '0')
 
#define V4L2_PIX_FMT_SBGGR10P   v4l2_fourcc('p', 'B', 'A', 'A')
 
#define V4L2_PIX_FMT_SGBRG10P   v4l2_fourcc('p', 'G', 'A', 'A')
 
#define V4L2_PIX_FMT_SGRBG10P   v4l2_fourcc('p', 'g', 'A', 'A')
 
#define V4L2_PIX_FMT_SRGGB10P   v4l2_fourcc('p', 'R', 'A', 'A')
 
#define V4L2_PIX_FMT_SBGGR10ALAW8   v4l2_fourcc('a', 'B', 'A', '8')
 
#define V4L2_PIX_FMT_SGBRG10ALAW8   v4l2_fourcc('a', 'G', 'A', '8')
 
#define V4L2_PIX_FMT_SGRBG10ALAW8   v4l2_fourcc('a', 'g', 'A', '8')
 
#define V4L2_PIX_FMT_SRGGB10ALAW8   v4l2_fourcc('a', 'R', 'A', '8')
 
#define V4L2_PIX_FMT_SBGGR10DPCM8   v4l2_fourcc('b', 'B', 'A', '8')
 
#define V4L2_PIX_FMT_SGBRG10DPCM8   v4l2_fourcc('b', 'G', 'A', '8')
 
#define V4L2_PIX_FMT_SGRBG10DPCM8   v4l2_fourcc('B', 'D', '1', '0')
 
#define V4L2_PIX_FMT_SRGGB10DPCM8   v4l2_fourcc('b', 'R', 'A', '8')
 
#define V4L2_PIX_FMT_SBGGR12   v4l2_fourcc('B', 'G', '1', '2')
 
#define V4L2_PIX_FMT_SGBRG12   v4l2_fourcc('G', 'B', '1', '2')
 
#define V4L2_PIX_FMT_SGRBG12   v4l2_fourcc('B', 'A', '1', '2')
 
#define V4L2_PIX_FMT_SRGGB12   v4l2_fourcc('R', 'G', '1', '2')
 
#define V4L2_PIX_FMT_SBGGR16   v4l2_fourcc('B', 'Y', 'R', '2')
 
#define V4L2_PIX_FMT_SGBRG16   v4l2_fourcc('G', 'B', '1', '6')
 
#define V4L2_PIX_FMT_SGRBG16   v4l2_fourcc('G', 'R', '1', '6')
 
#define V4L2_PIX_FMT_SRGGB16   v4l2_fourcc('R', 'G', '1', '6')
 
#define V4L2_PIX_FMT_HSV24   v4l2_fourcc('H', 'S', 'V', '3')
 
#define V4L2_PIX_FMT_HSV32   v4l2_fourcc('H', 'S', 'V', '4')
 
#define V4L2_PIX_FMT_MJPEG   v4l2_fourcc('M', 'J', 'P', 'G')
 
#define V4L2_PIX_FMT_JPEG   v4l2_fourcc('J', 'P', 'E', 'G')
 
#define V4L2_PIX_FMT_DV   v4l2_fourcc('d', 'v', 's', 'd')
 
#define V4L2_PIX_FMT_MPEG   v4l2_fourcc('M', 'P', 'E', 'G')
 
#define V4L2_PIX_FMT_H264   v4l2_fourcc('H', '2', '6', '4')
 
#define V4L2_PIX_FMT_H264_NO_SC   v4l2_fourcc('A', 'V', 'C', '1')
 
#define V4L2_PIX_FMT_H264_MVC   v4l2_fourcc('M', '2', '6', '4')
 
#define V4L2_PIX_FMT_H263   v4l2_fourcc('H', '2', '6', '3')
 
#define V4L2_PIX_FMT_MPEG1   v4l2_fourcc('M', 'P', 'G', '1')
 
#define V4L2_PIX_FMT_MPEG2   v4l2_fourcc('M', 'P', 'G', '2')
 
#define V4L2_PIX_FMT_MPEG4   v4l2_fourcc('M', 'P', 'G', '4')
 
#define V4L2_PIX_FMT_XVID   v4l2_fourcc('X', 'V', 'I', 'D')
 
#define V4L2_PIX_FMT_VC1_ANNEX_G   v4l2_fourcc('V', 'C', '1', 'G')
 
#define V4L2_PIX_FMT_VC1_ANNEX_L   v4l2_fourcc('V', 'C', '1', 'L')
 
#define V4L2_PIX_FMT_VP8   v4l2_fourcc('V', 'P', '8', '0')
 
#define V4L2_PIX_FMT_VP9   v4l2_fourcc('V', 'P', '9', '0')
 
#define V4L2_PIX_FMT_JPEG_WITH_SUBIMG   v4l2_fourcc('J', 'S', 'U', 'B')
 
#define V4L2_PIX_FMT_SUBIMG_UYVY   v4l2_fourcc('S', 'Y', 'U', 'V')
 
#define V4L2_PIX_FMT_SUBIMG_RGB565   v4l2_fourcc('S', 'R', 'G', 'B')
 
#define V4L2_FMT_DSC_MAX   (32)
 
#define V4L2_CTRL_MAX_DIMS   (4)
 
#define V4L2_REQBUFS_COUNT_MAX   CONFIG_VIDEO_REQBUFS_COUNT_MAX
 
#define V4L2_BUF_FLAG_ERROR   (0x0001)
 
#define V4L2_STD_PAL_B   ((v4l2_std_id)0x00000001)
 
#define V4L2_STD_PAL_B1   ((v4l2_std_id)0x00000002)
 
#define V4L2_STD_PAL_G   ((v4l2_std_id)0x00000004)
 
#define V4L2_STD_PAL_H   ((v4l2_std_id)0x00000008)
 
#define V4L2_STD_PAL_I   ((v4l2_std_id)0x00000010)
 
#define V4L2_STD_PAL_D   ((v4l2_std_id)0x00000020)
 
#define V4L2_STD_PAL_D1   ((v4l2_std_id)0x00000040)
 
#define V4L2_STD_PAL_K   ((v4l2_std_id)0x00000080)
 
#define V4L2_STD_PAL_M   ((v4l2_std_id)0x00000100)
 
#define V4L2_STD_PAL_N   ((v4l2_std_id)0x00000200)
 
#define V4L2_STD_PAL_Nc   ((v4l2_std_id)0x00000400)
 
#define V4L2_STD_PAL_60   ((v4l2_std_id)0x00000800)
 
#define V4L2_STD_NTSC_M   ((v4l2_std_id)0x00001000) /* BTSC */
 
#define V4L2_STD_NTSC_M_JP   ((v4l2_std_id)0x00002000) /* EIA-J */
 
#define V4L2_STD_NTSC_443   ((v4l2_std_id)0x00004000)
 
#define V4L2_STD_NTSC_M_KR   ((v4l2_std_id)0x00008000) /* FM A2 */
 
#define V4L2_STD_SECAM_B   ((v4l2_std_id)0x00010000)
 
#define V4L2_STD_SECAM_D   ((v4l2_std_id)0x00020000)
 
#define V4L2_STD_SECAM_G   ((v4l2_std_id)0x00040000)
 
#define V4L2_STD_SECAM_H   ((v4l2_std_id)0x00080000)
 
#define V4L2_STD_SECAM_K   ((v4l2_std_id)0x00100000)
 
#define V4L2_STD_SECAM_K1   ((v4l2_std_id)0x00200000)
 
#define V4L2_STD_SECAM_L   ((v4l2_std_id)0x00400000)
 
#define V4L2_STD_SECAM_LC   ((v4l2_std_id)0x00800000)
 
#define V4L2_STD_ATSC_8_VSB   ((v4l2_std_id)0x01000000)
 
#define V4L2_STD_ATSC_16_VSB   ((v4l2_std_id)0x02000000)
 
#define V4L2_STD_NTSC
 
#define V4L2_STD_SECAM_DK
 
#define V4L2_STD_SECAM
 
#define V4L2_STD_PAL_BG
 
#define V4L2_STD_PAL_DK
 
#define V4L2_STD_PAL
 
#define V4L2_STD_B
 
#define V4L2_STD_G
 
#define V4L2_STD_H
 
#define V4L2_STD_L
 
#define V4L2_STD_GH
 
#define V4L2_STD_DK
 
#define V4L2_STD_BG
 
#define V4L2_STD_MN
 
#define V4L2_STD_MTS
 
#define V4L2_STD_525_60
 
#define V4L2_STD_625_50
 
#define V4L2_STD_ATSC
 
#define V4L2_STD_UNKNOWN   0
 
#define V4L2_STD_ALL
 

Typedefs

typedef uint64_t v4l2_std_id
 
typedef struct v4l2_requestbuffers v4l2_requestbuffers_t
 
typedef struct v4l2_timecode v4l2_timecode_t
 
typedef struct v4l2_plane v4l2_plane_t
 
typedef struct v4l2_buffer v4l2_buffer_t
 
typedef struct v4l2_pix_format v4l2_pix_format_t
 
typedef struct v4l2_format v4l2_format_t
 

Enumerations

enum  v4l2_capabilities {
  V4L2_CAP_VIDEO_CAPTURE = 0x00000001 , V4L2_CAP_VIDEO_OUTPUT = 0x00000002 , V4L2_CAP_VIDEO_OVERLAY = 0x00000004 , V4L2_CAP_VBI_CAPTURE = 0x00000010 ,
  V4L2_CAP_VBI_OUTPUT = 0x00000020 , V4L2_CAP_SLICED_VBI_CAPTURE = 0x00000040 , V4L2_CAP_SLICED_VBI_OUTPUT = 0x00000080 , V4L2_CAP_RDS_CAPTURE = 0x00000100 ,
  V4L2_CAP_VIDEO_OUTPUT_OVERLAY = 0x00000200 , V4L2_CAP_HW_FREQ_SEEK = 0x00000400 , V4L2_CAP_RDS_OUTPUT = 0x00000800 , V4L2_CAP_VIDEO_CAPTURE_MPLANE = 0x00001000 ,
  V4L2_CAP_VIDEO_OUTPUT_MPLANE = 0x00002000 , V4L2_CAP_VIDEO_M2M_MPLANE = 0x00004000 , V4L2_CAP_VIDEO_M2M = 0x00008000 , V4L2_CAP_TUNER = 0x00010000 ,
  V4L2_CAP_AUDIO = 0x00020000 , V4L2_CAP_RADIO = 0x00040000 , V4L2_CAP_MODULATOR = 0x00080000 , V4L2_CAP_SDR_CAPTURE = 0x00100000 ,
  V4L2_CAP_EXT_PIX_FORMAT = 0x00200000 , V4L2_CAP_SDR_OUTPUT = 0x00400000 , V4L2_CAP_READWRITE = 0x01000000 , V4L2_CAP_ASYNCIO = 0x02000000 ,
  V4L2_CAP_STREAMING = 0x04000000 , V4L2_CAP_TOUCH = 0x10000000 , V4L2_CAP_DEVICE_CAPS = 0x80000000
}
 
enum  v4l2_buf_type {
  V4L2_BUF_TYPE_VIDEO_CAPTURE = 1 , V4L2_BUF_TYPE_VIDEO_OUTPUT = 2 , V4L2_BUF_TYPE_VIDEO_OVERLAY = 3 , V4L2_BUF_TYPE_VBI_CAPTURE = 4 ,
  V4L2_BUF_TYPE_VBI_OUTPUT = 5 , V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6 , V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7 , V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8 ,
  V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9 , V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10 , V4L2_BUF_TYPE_SDR_CAPTURE = 11 , V4L2_BUF_TYPE_SDR_OUTPUT = 12 ,
  V4L2_BUF_TYPE_META_CAPTURE = 13 , V4L2_BUF_TYPE_PRIVATE = 0x80 , V4L2_BUF_TYPE_STILL_CAPTURE = 0x81
}
 
enum  v4l2_memory { V4L2_MEMORY_MMAP = 1 , V4L2_MEMORY_USERPTR = 2 , V4L2_MEMORY_OVERLAY = 3 , V4L2_MEMORY_DMABUF = 4 }
 
enum  v4l2_field {
  V4L2_FIELD_ANY = 0 , V4L2_FIELD_NONE = 1 , V4L2_FIELD_TOP = 2 , V4L2_FIELD_BOTTOM = 3 ,
  V4L2_FIELD_INTERLACED = 4 , V4L2_FIELD_SEQ_TB = 5 , V4L2_FIELD_SEQ_BT = 6 , V4L2_FIELD_ALTERNATE = 7 ,
  V4L2_FIELD_INTERLACED_TB = 8 , V4L2_FIELD_INTERLACED_BT = 9
}
 
enum  v4l2_buf_mode { V4L2_BUF_MODE_RING = 0 , V4L2_BUF_MODE_FIFO = 1 }
 
enum  v4l2_fmt_flag { V4L2_FMT_FLAG_COMPRESSED = 0x0001 , V4L2_FMT_FLAG_EMULATED = 0x0002 }
 
enum  v4l2_frmsizetypes { V4L2_FRMSIZE_TYPE_DISCRETE = 1 , V4L2_FRMSIZE_TYPE_CONTINUOUS = 2 , V4L2_FRMSIZE_TYPE_STEPWISE = 3 }
 
enum  v4l2_frmivaltypes { V4L2_FRMIVAL_TYPE_DISCRETE = 1 , V4L2_FRMIVAL_TYPE_CONTINUOUS = 2 , V4L2_FRMIVAL_TYPE_STEPWISE = 3 }
 
enum  v4l2_capture_mode { V4L2_MODE_HIGHQUALITY = 0x0001 }
 
enum  v4l2_capture_capability { V4L2_CAP_TIMEPERFRAME = 0x1000 }
 
enum  v4l2_ctrl_type {
  V4L2_CTRL_TYPE_INTEGER = 1 , V4L2_CTRL_TYPE_BOOLEAN = 2 , V4L2_CTRL_TYPE_MENU = 3 , V4L2_CTRL_TYPE_BUTTON = 4 ,
  V4L2_CTRL_TYPE_INTEGER64 = 5 , V4L2_CTRL_TYPE_CTRL_CLASS = 6 , V4L2_CTRL_TYPE_STRING = 7 , V4L2_CTRL_TYPE_BITMASK = 8 ,
  V4L2_CTRL_TYPE_INTEGER_MENU = 9 , V4L2_CTRL_TYPE_U8FIXEDPOINT_Q7 = 10 , V4L2_CTRL_TYPE_U16FIXEDPOINT_Q8 = 11 , V4L2_CTRL_TYPE_INTEGER_TIMES_3 = 12 ,
  V4L2_CTRL_COMPOUND_TYPES = 0x0100 , V4L2_CTRL_TYPE_U8 = 0x0100 , V4L2_CTRL_TYPE_U16 = 0x0101 , V4L2_CTRL_TYPE_U32 = 0x0102
}
 
enum  v4l2_input_type { V4L2_INPUT_TYPE_TUNER = 1 , V4L2_INPUT_TYPE_CAMERA = 2 , V4L2_INPUT_TYPE_TOUCH = 3 }
 
enum  v4l2_input_status {
  V4L2_IN_ST_NO_POWER = 0x00000001 , V4L2_IN_ST_NO_SIGNAL = 0x00000002 , V4L2_IN_ST_NO_COLOR = 0x00000004 , V4L2_IN_ST_HFLIP = 0x00000010 ,
  V4L2_IN_ST_VFLIP = 0x00000020 , V4L2_IN_ST_NO_H_LOCK = 0x00000100 , V4L2_IN_ST_COLOR_KILL = 0x00000200 , V4L2_IN_ST_NO_V_LOCK = 0x00000400 ,
  V4L2_IN_ST_NO_STD_LOCK = 0x00000800 , V4L2_IN_ST_NO_SYNC = 0x00010000 , V4L2_IN_ST_NO_EQU = 0x00020000 , V4L2_IN_ST_NO_CARRIER = 0x00040000 ,
  V4L2_IN_ST_MACROVISION = 0x01000000 , V4L2_IN_ST_NO_ACCESS = 0x02000000 , V4L2_IN_ST_VTR = 0x04000000
}
 
enum  v4l2_input_capabilities { V4L2_IN_CAP_DV_TIMINGS = 0x00000002 , V4L2_IN_CAP_STD = 0x00000004 , V4L2_IN_CAP_NATIVE_SIZE = 0x00000008 }
 
enum  v4l2_input_capabilites_compat { V4L2_IN_CAP_CUSTOM_TIMINGS = V4L2_IN_CAP_DV_TIMINGS }
 
enum  v4l2_output_type { V4L2_OUTPUT_TYPE_MODULATOR = 1 , V4L2_OUTPUT_TYPE_ANALOG = 2 , V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY = 3 }
 
enum  v4l2_output_capabilities { V4L2_OUT_CAP_DV_TIMINGS = 0x00000002 , V4L2_OUT_CAP_STD = 0x00000004 , V4L2_OUT_CAP_NATIVE_SIZE = 0x00000008 }
 
enum  v4l2_output_capabilites_compat { V4L2_OUT_CAP_CUSTOM_TIMINGS = V4L2_OUT_CAP_DV_TIMINGS }
 

Functions

int video_initialize (FAR const char *devpath)
 
int video_uninitialize (FAR const char *devpath)
 
int video_register (FAR const char *devpath, FAR struct imgdata_s *data, FAR struct imgsensor_s **sensors, size_t sensor_num)
 
int video_unregister (FAR const char *devpath)