Lines Matching full:buffers
12 from the client to process these buffers.
50 the destination buffer queue; for decoders, the queue of buffers containing
51 decoded frames; for encoders, the queue of buffers containing an encoded
54 into ``CAPTURE`` buffers.
78 ``OUTPUT`` buffers must be queued by the client in decode order; for
79 encoders ``CAPTURE`` buffers must be returned by the encoder in decode order.
86 buffers must be queued by the client in display order; for decoders,
87 ``CAPTURE`` buffers must be returned by the decoder in display order.
110 the source buffer queue; for decoders, the queue of buffers containing
111 an encoded bytestream; for encoders, the queue of buffers containing raw
114 from ``OUTPUT`` buffers.
267 desired size of ``OUTPUT`` buffers; the decoder may adjust it to
276 adjusted size of ``OUTPUT`` buffers.
293 2. Allocate source (bytestream) buffers via :c:func:`VIDIOC_REQBUFS` on
299 requested number of buffers to allocate; greater than zero.
310 the actual number of buffers allocated.
314 The actual number of allocated buffers may differ from the ``count``
324 requested number of buffers to allocate; greater than zero.
338 adjusted to the number of allocated buffers.
342 The actual number of allocated buffers may differ from the ``count``
349 in the stream.** Continue queuing/dequeuing bytestream buffers to/from the
351 buffers will be processed and returned to the client in order, until
357 this to occur. Processing of the buffers will continue as long as more
399 destination buffers parsed/decoded from the bytestream.
564 than or equal to the size of currently allocated buffers,
566 * the number of buffers currently allocated is greater than or equal to the
567 minimum number of buffers acquired in previous steps. To fulfill this
569 buffers.
585 buffers on the ``CAPTURE`` queue until a buffer marked with the
597 9. **If the** ``CAPTURE`` **queue has buffers allocated,** free the ``CAPTURE``
598 buffers using :c:func:`VIDIOC_REQBUFS`.
611 10. Allocate ``CAPTURE`` buffers via :c:func:`VIDIOC_REQBUFS` on the
617 requested number of buffers to allocate; greater than zero.
628 actual number of buffers allocated.
632 The actual number of allocated buffers may differ from the ``count``
638 To allocate more than the minimum number of buffers (for pipeline
640 control to get the minimum number of buffers required, and pass the
641 obtained value plus the number of additional buffers needed in the
646 allocating buffers larger than the current ``CAPTURE`` format, future
652 requested number of buffers to allocate; greater than zero.
662 accommodated by newly allocated buffers.
667 adjusted to the number of allocated buffers.
671 The actual number of allocated buffers may differ from the ``count``
677 To allocate buffers for a format different than parsed from the stream
688 :c:func:`VIDIOC_CREATE_BUFS` in this step to allocate the buffers.
697 In this state, the client queues and dequeues buffers to both queues via
701 The content of the source ``OUTPUT`` buffers depends on the active coded pixel
712 and ``OUTPUT`` buffers and any specific timing of buffers becoming
715 * a buffer queued to ``OUTPUT`` may result in no buffers being produced
726 ``OUTPUT`` buffers, or be returned out of order, e.g. if display
729 * buffers may become available on the ``CAPTURE`` queue without additional
730 buffers queued to ``OUTPUT`` (e.g. during drain or ``EOS``), because of the
731 ``OUTPUT`` buffers queued in the past whose decoding results are only
736 To allow matching decoded ``CAPTURE`` buffers with ``OUTPUT`` buffers they
745 * one ``OUTPUT`` buffer generates multiple ``CAPTURE`` buffers: the same
746 ``OUTPUT`` timestamp will be copied to multiple ``CAPTURE`` buffers.
748 * multiple ``OUTPUT`` buffers generate one ``CAPTURE`` buffer: timestamp of
752 buffers are out-of-order compared to the ``OUTPUT`` buffers): ``CAPTURE``
757 ``CAPTURE`` buffers that originated from all the ``OUTPUT`` buffers processed
758 before the sequence started. Last of the buffers will have the
786 releasing all buffers and performing the Initialization sequence again.
803 * The decoder will drop all the pending ``OUTPUT`` buffers and they must be
813 * The decoder will start accepting new source bytestream buffers after the
816 3. Start queuing buffers containing coded data after the seek to the ``OUTPUT``
823 buffers will be processed and returned to the client until a suitable
825 should not produce any decoded frames into ``CAPTURE`` buffers.
843 corresponding buffers will be returned to the client with the
848 buffers containing decoded frames.
859 It is not specified when the ``CAPTURE`` queue starts producing buffers
860 containing decoded data from the ``OUTPUT`` buffers queued after the seek,
863 The decoder may return a number of remaining ``CAPTURE`` buffers containing
864 decoded frames originating from the ``OUTPUT`` buffers queued before the
868 ``OUTPUT`` buffers, which means that not all of the ``OUTPUT`` buffers
869 queued before the seek sequence may have matching ``CAPTURE`` buffers
881 buffers or use V4L2_DEC_CMD_STOP and V4L2_DEC_CMD_START to drain the
887 ``CAPTURE`` queue too to discard decoded, but not yet dequeued buffers.
909 * the minimum number of buffers needed for decoding,
925 2. The decoder will then process and decode all remaining buffers from before
939 Any attempt to dequeue more ``CAPTURE`` buffers beyond the buffer marked
970 buffers to/from the ``OUTPUT`` queue even while processing this sequence.
975 To ensure that all queued ``OUTPUT`` buffers have been processed and related
976 ``CAPTURE`` buffers are given to the client, the client must follow the drain
978 received all decoded frames for all ``OUTPUT`` buffers queued before the
1002 2. Any ``OUTPUT`` buffers queued by the client before the
1007 * handling any operations triggered as a result of processing those buffers,
1011 * queuing and dequeuing ``CAPTURE`` buffers, until a buffer marked with the
1022 Any attempt to dequeue more ``CAPTURE`` buffers beyond the buffer
1026 * dequeuing processed ``OUTPUT`` buffers, until all the buffers queued
1038 3. Once all the ``OUTPUT`` buffers queued before the ``V4L2_DEC_CMD_STOP`` call
1041 buffers until the client issues any of the following operations:
1048 however any ``CAPTURE`` buffers still in the queue will be returned to the
1052 ``OUTPUT`` queue - any pending source buffers will be returned to the
1077 Setting formats and allocating buffers trigger changes in the behavior of the
1097 5. While buffers are allocated on any of the ``OUTPUT`` or ``CAPTURE`` queues,