123456789101112131415161718192021222324252627282930313233 |
- .. -*- coding: utf-8; mode: rst -*-
- .. _streaming-par:
- ********************
- Streaming Parameters
- ********************
- Streaming parameters are intended to optimize the video capture process
- as well as I/O. Presently applications can request a high quality
- capture mode with the :ref:`VIDIOC_S_PARM <VIDIOC_G_PARM>` ioctl.
- The current video standard determines a nominal number of frames per
- second. If less than this number of frames is to be captured or output,
- applications can request frame skipping or duplicating on the driver
- side. This is especially useful when using the
- :ref:`read() <func-read>` or :ref:`write() <func-write>`, which are
- not augmented by timestamps or sequence counters, and to avoid
- unnecessary data copying.
- Finally these ioctls can be used to determine the number of buffers used
- internally by a driver in read/write mode. For implications see the
- section discussing the :ref:`read() <func-read>` function.
- To get and set the streaming parameters applications call the
- :ref:`VIDIOC_G_PARM <VIDIOC_G_PARM>` and
- :ref:`VIDIOC_S_PARM <VIDIOC_G_PARM>` ioctl, respectively. They take
- a pointer to a struct :c:type:`v4l2_streamparm`, which
- contains a union holding separate parameters for input and output
- devices.
- These ioctls are optional, drivers need not implement them. If so, they
- return the ``EINVAL`` error code.
|