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 .. _streaming-par: 4 .. _streaming-par: 5 5 6 ******************** 6 ******************** 7 Streaming Parameters 7 Streaming Parameters 8 ******************** 8 ******************** 9 9 10 Streaming parameters are intended to optimize 10 Streaming parameters are intended to optimize the video capture process 11 as well as I/O. Presently applications can req 11 as well as I/O. Presently applications can request a high quality 12 capture mode with the :ref:`VIDIOC_S_PARM <VID 12 capture mode with the :ref:`VIDIOC_S_PARM <VIDIOC_G_PARM>` ioctl. 13 13 14 The current video standard determines a nomina 14 The current video standard determines a nominal number of frames per 15 second. If less than this number of frames is 15 second. If less than this number of frames is to be captured or output, 16 applications can request frame skipping or dup 16 applications can request frame skipping or duplicating on the driver 17 side. This is especially useful when using the 17 side. This is especially useful when using the 18 :c:func:`read()` or :c:func:`write()`, which a 18 :c:func:`read()` or :c:func:`write()`, which are 19 not augmented by timestamps or sequence counte 19 not augmented by timestamps or sequence counters, and to avoid 20 unnecessary data copying. 20 unnecessary data copying. 21 21 22 Finally these ioctls can be used to determine 22 Finally these ioctls can be used to determine the number of buffers used 23 internally by a driver in read/write mode. For 23 internally by a driver in read/write mode. For implications see the 24 section discussing the :c:func:`read()` functi 24 section discussing the :c:func:`read()` function. 25 25 26 To get and set the streaming parameters applic 26 To get and set the streaming parameters applications call the 27 :ref:`VIDIOC_G_PARM <VIDIOC_G_PARM>` and 27 :ref:`VIDIOC_G_PARM <VIDIOC_G_PARM>` and 28 :ref:`VIDIOC_S_PARM <VIDIOC_G_PARM>` ioctl, re 28 :ref:`VIDIOC_S_PARM <VIDIOC_G_PARM>` ioctl, respectively. They take 29 a pointer to a struct :c:type:`v4l2_streamparm 29 a pointer to a struct :c:type:`v4l2_streamparm`, which 30 contains a union holding separate parameters f 30 contains a union holding separate parameters for input and output 31 devices. 31 devices. 32 32 33 These ioctls are optional, drivers need not im 33 These ioctls are optional, drivers need not implement them. If so, they 34 return the ``EINVAL`` error code. 34 return the ``EINVAL`` error code.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.