Lines Matching full:capture
41 7. Given an ``OUTPUT`` buffer A, then A' represents a buffer on the ``CAPTURE``
70 Encoding -> Reset [ label = "VIDIOC_STREAMOFF(CAPTURE)" ];
74 Drain -> Stopped [ label = "All CAPTURE\nbuffers dequeued\nor\nVIDIOC_STREAMOFF(OUTPUT)" ];
75 Drain -> Reset [ label = "VIDIOC_STREAMOFF(CAPTURE)" ];
77 Reset -> Encoding [ label = "VIDIOC_STREAMON(CAPTURE)" ];
81 Stopped -> Reset [ label = "VIDIOC_STREAMOFF(CAPTURE)" ];
88 client may call :c:func:`VIDIOC_ENUM_FMT` on ``CAPTURE``.
96 * Only the formats supported for the format currently active on ``CAPTURE``
100 the client must first set that coded format on ``CAPTURE`` and then
114 ``CAPTURE``.
130 ``CAPTURE``.
137 ``CAPTURE``, if applicable, may be queried using their respective controls
146 1. Set the coded format on the ``CAPTURE`` queue via :c:func:`VIDIOC_S_FMT`.
151 a ``V4L2_BUF_TYPE_*`` enum appropriate for ``CAPTURE``.
157 desired size of ``CAPTURE`` buffers; the encoder may adjust it to
169 adjusted size of ``CAPTURE`` buffers.
177 Changing the ``CAPTURE`` format may change the currently set ``OUTPUT``
196 the ``CAPTURE`` queue.
234 ``CAPTURE`` queue to the same value.
263 In the next step the ``CAPTURE`` frame interval can optionally be
277 interval also changes the coded frame interval on the ``CAPTURE``
281 5. **Optional** Set the coded frame interval on the ``CAPTURE`` queue via
290 a ``V4L2_BUF_TYPE_*`` enum appropriate for ``CAPTURE``.
292 ``parm.capture``
293 set all fields except ``parm.capture.timeperframe`` to 0.
295 ``parm.capture.timeperframe``
301 ``parm.capture.timeperframe``
306 Changing the ``CAPTURE`` frame interval sets the framerate for the
308 ``CAPTURE`` queue, that depends on how fast the encoder is and how
358 ``CAPTURE`` stream; defaults to ``V4L2_SEL_TGT_CROP_DEFAULT``.
375 7. Allocate buffers for both ``OUTPUT`` and ``CAPTURE`` via
385 ``CAPTURE``.
428 8. Begin streaming on both ``OUTPUT`` and ``CAPTURE`` queues via
434 If the client stops the ``CAPTURE`` queue during the encode process and then
454 The content of encoded ``CAPTURE`` buffers depends on the active coded pixel
460 dequeued from the ``CAPTURE`` queue may differ from the order of queuing raw
464 The client must not assume any direct relationship between ``CAPTURE`` and
469 ``CAPTURE`` (for example, if returning an encoded frame allowed the encoder
474 ``CAPTURE`` later into encode process, and/or after processing further
478 * buffers may become available on the ``CAPTURE`` queue without additional
484 after being encoded into a corresponding ``CAPTURE`` buffer, e.g. if the
489 To allow matching encoded ``CAPTURE`` buffers with ``OUTPUT`` buffers they
492 ``CAPTURE`` buffer(s), which resulted from encoding that ``OUTPUT`` buffer
496 one ``CAPTURE`` buffer, the following cases are defined:
498 * one ``OUTPUT`` buffer generates multiple ``CAPTURE`` buffers: the same
499 ``OUTPUT`` timestamp will be copied to multiple ``CAPTURE`` buffers,
502 ``CAPTURE`` buffers are out-of-order compared to the ``OUTPUT`` buffers):
503 ``CAPTURE`` timestamps will not retain the order of ``OUTPUT`` timestamps.
509 ``CAPTURE`` buffers will have corresponding flag bits set in their
517 * the ``CAPTURE`` buffer (if any) that contains the results of the failed encode
526 If a ``CAPTURE`` buffer is too small then it is just returned with the
547 -EBUSY error code, the ``CAPTURE`` queue needs to be stopped for the
560 related ``CAPTURE`` buffers are given to the client, the client must follow the
580 The sequence can be only initiated if both ``OUTPUT`` and ``CAPTURE``
591 * queuing and dequeuing ``CAPTURE`` buffers, until a buffer marked with the
602 Any attempt to dequeue more ``CAPTURE`` buffers beyond the buffer
619 dequeued and the last ``CAPTURE`` buffer is dequeued, the encoder is stopped
627 ``CAPTURE`` queue - the encoder will be reset (see the `Reset` sequence)
639 issuing :c:func:`VIDIOC_STREAMOFF` on any of the ``OUTPUT`` or ``CAPTURE``
648 immediately and the encoder returns an empty ``CAPTURE`` buffer with the
651 * In case of no buffer in the ``CAPTURE`` queue at the time the drain
652 sequence completes, the next time the client queues a ``CAPTURE`` buffer
656 * If :c:func:`VIDIOC_STREAMOFF` is called on the ``CAPTURE`` queue in the
658 ``CAPTURE`` buffers are implicitly returned to the client.
662 next ``CAPTURE`` buffer will be returned empty with the
686 2. Stop streaming on the ``CAPTURE`` queue via :c:func:`VIDIOC_STREAMOFF`. This
687 will return all currently queued ``CAPTURE`` buffers to the client, without
690 3. Start streaming on the ``CAPTURE`` queue via :c:func:`VIDIOC_STREAMON` and
692 ``CAPTURE`` buffers from now on will contain a standalone stream that can be
706 1. Setting the format on the ``CAPTURE`` queue may change the set of formats
712 supported for the current ``CAPTURE`` format.
715 formats available on the ``CAPTURE`` queue. An attempt to set the ``OUTPUT``
716 format that is not supported for the currently selected ``CAPTURE`` format
720 4. Enumerating formats on the ``CAPTURE`` queue always returns the full set of
723 5. While buffers are allocated on any of the ``OUTPUT`` or ``CAPTURE`` queues,
724 the client must not change the format on the ``CAPTURE`` queue. Drivers will
728 ``CAPTURE`` queue and the ``CAPTURE`` queue is the master that governs the