diff options
Diffstat (limited to 'Documentation/media/uapi/v4l/mmap.rst')
-rw-r--r-- | Documentation/media/uapi/v4l/mmap.rst | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Documentation/media/uapi/v4l/mmap.rst b/Documentation/media/uapi/v4l/mmap.rst index 260c2db8916b..7ad5d5e76163 100644 --- a/Documentation/media/uapi/v4l/mmap.rst +++ b/Documentation/media/uapi/v4l/mmap.rst @@ -26,7 +26,7 @@ memory. A driver can support many sets of buffers. Each set is identified by a unique buffer type value. The sets are independent and each set can hold a different type of data. To access different sets at the same time -different file descriptors must be used. [1]_ +different file descriptors must be used. [#f1]_ To allocate device buffers applications call the :ref:`VIDIOC_REQBUFS` ioctl with the desired number @@ -217,7 +217,7 @@ The driver may require a minimum number of buffers enqueued at all times to function, apart of this no limit exists on the number of buffers applications can enqueue in advance, or dequeue and process. They can also enqueue in a different order than buffers have been dequeued, and -the driver can *fill* enqueued *empty* buffers in any order. [2]_ The +the driver can *fill* enqueued *empty* buffers in any order. [#f2]_ The index number of a buffer (struct :ref:`v4l2_buffer <v4l2-buffer>` ``index``) plays no role here, it only identifies the buffer. @@ -260,11 +260,11 @@ Drivers implementing memory mapping I/O must support the <VIDIOC_QBUF>`, :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>` and :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` ioctls, the :ref:`mmap() <func-mmap>`, :ref:`munmap() <func-munmap>`, :ref:`select() -<func-select>` and :ref:`poll() <func-poll>` function. [3]_ +<func-select>` and :ref:`poll() <func-poll>` function. [#f3]_ [capture example] -.. [1] +.. [#f1] One could use one file descriptor and set the buffer type field accordingly when calling :ref:`VIDIOC_QBUF` etc., but it makes the :ref:`select() <func-select>` function ambiguous. We also @@ -272,14 +272,14 @@ and :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` ioctls, the :ref:`mmap() Video overlay for example is also a logical stream, although the CPU is not needed for continuous operation. -.. [2] +.. [#f2] Random enqueue order permits applications processing images out of order (such as video codecs) to return buffers earlier, reducing the probability of data loss. Random fill order allows drivers to reuse buffers on a LIFO-basis, taking advantage of caches holding scatter-gather lists and the like. -.. [3] +.. [#f3] At the driver level :ref:`select() <func-select>` and :ref:`poll() <func-poll>` are the same, and :ref:`select() <func-select>` is too important to be optional. The rest should be evident. |