~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/io.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/userspace-api/media/v4l/io.rst (Architecture mips) and /Documentation/userspace-api/media/v4l/io.rst (Architecture ppc)


  1 .. SPDX-License-Identifier: GFDL-1.1-no-invari      1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2 .. c:namespace:: V4L                                2 .. c:namespace:: V4L
  3                                                     3 
  4 .. _io:                                             4 .. _io:
  5                                                     5 
  6 ############                                        6 ############
  7 Input/Output                                        7 Input/Output
  8 ############                                        8 ############
  9 The V4L2 API defines several different methods      9 The V4L2 API defines several different methods to read from or write to
 10 a device. All drivers exchanging data with app     10 a device. All drivers exchanging data with applications must support at
 11 least one of them.                                 11 least one of them.
 12                                                    12 
 13 The classic I/O method using the :c:func:`read     13 The classic I/O method using the :c:func:`read()` and
 14 :c:func:`write()` function is automatically se     14 :c:func:`write()` function is automatically selected after opening a
 15 V4L2 device. When the driver does not support      15 V4L2 device. When the driver does not support this method attempts to
 16 read or write will fail at any time.               16 read or write will fail at any time.
 17                                                    17 
 18 Other methods must be negotiated. To select th     18 Other methods must be negotiated. To select the streaming I/O method
 19 with memory mapped or user buffers application     19 with memory mapped or user buffers applications call the
 20 :ref:`VIDIOC_REQBUFS` ioctl.                       20 :ref:`VIDIOC_REQBUFS` ioctl.
 21                                                    21 
 22 Video overlay can be considered another I/O me     22 Video overlay can be considered another I/O method, although the
 23 application does not directly receive the imag     23 application does not directly receive the image data. It is selected by
 24 initiating video overlay with the :ref:`VIDIOC     24 initiating video overlay with the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>`
 25 ioctl. For more information see :ref:`overlay`     25 ioctl. For more information see :ref:`overlay`.
 26                                                    26 
 27 Generally exactly one I/O method, including ov     27 Generally exactly one I/O method, including overlay, is associated with
 28 each file descriptor. The only exceptions are      28 each file descriptor. The only exceptions are applications not
 29 exchanging data with a driver ("panel applicat     29 exchanging data with a driver ("panel applications", see :ref:`open`)
 30 and drivers permitting simultaneous video capt     30 and drivers permitting simultaneous video capturing and overlay using
 31 the same file descriptor, for compatibility wi     31 the same file descriptor, for compatibility with V4L and earlier
 32 versions of V4L2.                                  32 versions of V4L2.
 33                                                    33 
 34 :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` and :ref:`V     34 :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` and :ref:`VIDIOC_REQBUFS` would permit this to some
 35 degree, but for simplicity drivers need not su     35 degree, but for simplicity drivers need not support switching the I/O
 36 method (after first switching away from read/w     36 method (after first switching away from read/write) other than by
 37 closing and reopening the device.                  37 closing and reopening the device.
 38                                                    38 
 39 The following sections describe the various I/     39 The following sections describe the various I/O methods in more detail.
 40                                                    40 
 41 .. toctree::                                       41 .. toctree::
 42     :maxdepth: 1                                   42     :maxdepth: 1
 43                                                    43 
 44     rw                                             44     rw
 45     mmap                                           45     mmap
 46     userp                                          46     userp
 47     dmabuf                                         47     dmabuf
 48     buffer                                         48     buffer
 49     field-order                                    49     field-order
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php