xref: /freebsd/share/man/man4/video.4 (revision 9c9428825f4c55e3cb37412c661bb9d385db4c68)
1.\"
2.\" Copyright (c) 2026 Abdelkader Boudih <freebsd@seuros.com>
3.\"
4.\" SPDX-License-Identifier: BSD-2-Clause
5.\"
6.Dd July 28, 2026
7.Dt VIDEO 4
8.Os
9.Sh NAME
10.Nm video
11.Nd video capture framework
12.Sh SYNOPSIS
13.Cd device video
14.Pp
15.In sys/videoio.h
16.Sh DESCRIPTION
17The
18.Nm
19framework provides a common interface for video capture devices.
20It creates
21.Pa /dev/video%d
22device nodes and handles buffer management, memory mapping, and
23ioctl dispatch on behalf of hardware drivers.
24.Pp
25Userland applications access capture devices through the
26.Sy Video4Linux2
27.Pq V4L2
28ioctl interface.
29The framework translates V4L2 requests into driver callbacks,
30so hardware drivers do not implement ioctls directly.
31.Pp
32The following V4L2 ioctls are supported:
33.Bl -bullet -compact
34.It
35.Dv VIDIOC_QUERYCAP
36.It
37.Dv VIDIOC_ENUM_FMT ,
38.Dv VIDIOC_G_FMT ,
39.Dv VIDIOC_S_FMT ,
40.Dv VIDIOC_TRY_FMT
41.It
42.Dv VIDIOC_ENUM_FRAMESIZES ,
43.Dv VIDIOC_ENUM_FRAMEINTERVALS
44.It
45.Dv VIDIOC_G_PARM ,
46.Dv VIDIOC_S_PARM
47.It
48.Dv VIDIOC_ENUMINPUT ,
49.Dv VIDIOC_G_INPUT ,
50.Dv VIDIOC_S_INPUT
51.It
52.Dv VIDIOC_QUERYCTRL ,
53.Dv VIDIOC_G_CTRL ,
54.Dv VIDIOC_S_CTRL
55.It
56.Dv VIDIOC_REQBUFS ,
57.Dv VIDIOC_QUERYBUF ,
58.Dv VIDIOC_QBUF ,
59.Dv VIDIOC_DQBUF
60.It
61.Dv VIDIOC_STREAMON ,
62.Dv VIDIOC_STREAMOFF
63.El
64.Pp
65Two capture modes are supported:
66.Bl -tag -width 6n
67.It Cm read
68Frames are obtained by calling
69.Xr read 2
70on the device node.
71Streaming starts automatically on the first read.
72.It Cm mmap
73Buffers are allocated with
74.Dv VIDIOC_REQBUFS ,
75mapped with
76.Xr mmap 2 ,
77and cycled with
78.Dv VIDIOC_QBUF
79and
80.Dv VIDIOC_DQBUF .
81Streaming is started and stopped with
82.Dv VIDIOC_STREAMON
83and
84.Dv VIDIOC_STREAMOFF .
85.El
86.Pp
87Up to 8 buffers may be allocated per device.
88Buffer memory remains valid until the last mapping is unmapped,
89even if the device is closed or detached.
90.Sh SEE ALSO
91.Xr mmap 2 ,
92.Xr read 2 ,
93.Xr fwcam 4 ,
94.Xr uvideo 4
95.Sh HISTORY
96The
97.Nm
98framework first appeared in
99.Fx 16.0 .
100.Sh AUTHORS
101.An Abdelkader Boudih Aq Mt freebsd@seuros.com
102