Re: [RFC 2/2] docs-rst: v4l: Document V4L2_BUF_TYPE_META_OUTPUT interface

2017-06-16 Thread Hans Verkuil

On 06/16/2017 05:14 PM, Sakari Ailus wrote:

Document the interface for metadata output, including
V4L2_BUF_TYPE_META_OUTPUT buffer type and V4L2_CAP_META_OUTPUT capability
bits.

Signed-off-by: Sakari Ailus 
---
  Documentation/media/uapi/v4l/buffer.rst  |  3 +++
  Documentation/media/uapi/v4l/dev-meta.rst| 32 ++--
  Documentation/media/uapi/v4l/vidioc-querycap.rst |  3 +++
  3 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/Documentation/media/uapi/v4l/buffer.rst 
b/Documentation/media/uapi/v4l/buffer.rst
index ae6ee73..919ac1d 100644
--- a/Documentation/media/uapi/v4l/buffer.rst
+++ b/Documentation/media/uapi/v4l/buffer.rst
@@ -452,6 +452,9 @@ enum v4l2_buf_type
  * - ``V4L2_BUF_TYPE_META_CAPTURE``
- 13
- Buffer for metadata capture, see :ref:`metadata`.
+* - ``V4L2_BUF_TYPE_META_CAPTURE``


Should be OUTPUT of course.


+  - 14
+  - Buffer for metadata output, see :ref:`metadata`.
  
  
  
diff --git a/Documentation/media/uapi/v4l/dev-meta.rst b/Documentation/media/uapi/v4l/dev-meta.rst

index 62518ad..cb007dd 100644
--- a/Documentation/media/uapi/v4l/dev-meta.rst
+++ b/Documentation/media/uapi/v4l/dev-meta.rst
@@ -7,21 +7,26 @@ Metadata Interface
  **
  
  Metadata refers to any non-image data that supplements video frames with

-additional information. This may include statistics computed over the image
-or frame capture parameters supplied by the image source. This interface is
-intended for transfer of metadata to userspace and control of that operation.
+additional information. This may include statistics computed over the image,
+frame capture parameters supplied by the image source or device specific
+parameters. This interface is intended for transfer of metadata between
+the userspace and the hardware and control of that operation.
  
-The metadata interface is implemented on video capture device nodes. The device

-can be dedicated to metadata or can implement both video and metadata capture
-as specified in its reported capabilities.
+The metadata interface is implemented on video device nodes. The device can be
+dedicated to metadata or can support both video and metadata as specified in 
its
+reported capabilities.
  
  Querying Capabilities

  =
  
-Device nodes supporting the metadata interface set the ``V4L2_CAP_META_CAPTURE``

-flag in the ``device_caps`` field of the
+Device nodes supporting the metadata capture interface set the
+``V4L2_CAP_META_CAPTURE`` flag in the ``device_caps`` field of the
  :c:type:`v4l2_capability` structure returned by the :c:func:`VIDIOC_QUERYCAP`
-ioctl. That flag means the device can capture metadata to memory.
+ioctl. That flag means the device can capture metadata to memory. Similarly,
+device nodes supporting metadata output interface set the
+``V4L2_CAP_META_OUTPUT`` flag in the ``device_caps`` field of
+:c:type:`v4l2_capability` structure. That flag means the device can read
+metadata from memory.
  
  At least one of the read/write or streaming I/O methods must be supported.
  
@@ -35,10 +40,11 @@ to the basic :ref:`format` ioctls, the :c:func:`VIDIOC_ENUM_FMT` ioctl must be

  supported as well.
  
  To use the :ref:`format` ioctls applications set the ``type`` field of the

-:c:type:`v4l2_format` structure to ``V4L2_BUF_TYPE_META_CAPTURE`` and use the
-:c:type:`v4l2_meta_format` ``meta`` member of the ``fmt`` union as needed per
-the desired operation. Both drivers and applications must set the remainder of
-the :c:type:`v4l2_format` structure to 0.
+:c:type:`v4l2_format` structure to ``V4L2_BUF_TYPE_META_CAPTURE`` or to
+``V4L2_BUF_TYPE_META_OUTPUT`` and use the :c:type:`v4l2_meta_format` ``meta``
+member of the ``fmt`` union as needed per the desired operation. Both drivers
+and applications must set the remainder of the :c:type:`v4l2_format` structure
+to 0.
  
  .. _v4l2-meta-format:
  
diff --git a/Documentation/media/uapi/v4l/vidioc-querycap.rst b/Documentation/media/uapi/v4l/vidioc-querycap.rst

index 12e0d9a..36bf879 100644
--- a/Documentation/media/uapi/v4l/vidioc-querycap.rst
+++ b/Documentation/media/uapi/v4l/vidioc-querycap.rst
@@ -249,6 +249,9 @@ specification the ioctl returns an ``EINVAL`` error code.
  * - ``V4L2_CAP_STREAMING``
- 0x0400
- The device supports the :ref:`streaming ` I/O method.
+* - ``V4L2_CAP_META_OUTPUT``
+  - 0x0800
+  - The device supports the :ref:`metadata` output interface.
  * - ``V4L2_CAP_TOUCH``
- 0x1000
- This is a touch device.



With that fixed:

Acked-by: Hans Verkuil 

Thanks!

Hans


[RFC 2/2] docs-rst: v4l: Document V4L2_BUF_TYPE_META_OUTPUT interface

2017-06-16 Thread Sakari Ailus
Document the interface for metadata output, including
V4L2_BUF_TYPE_META_OUTPUT buffer type and V4L2_CAP_META_OUTPUT capability
bits.

Signed-off-by: Sakari Ailus 
---
 Documentation/media/uapi/v4l/buffer.rst  |  3 +++
 Documentation/media/uapi/v4l/dev-meta.rst| 32 ++--
 Documentation/media/uapi/v4l/vidioc-querycap.rst |  3 +++
 3 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/Documentation/media/uapi/v4l/buffer.rst 
b/Documentation/media/uapi/v4l/buffer.rst
index ae6ee73..919ac1d 100644
--- a/Documentation/media/uapi/v4l/buffer.rst
+++ b/Documentation/media/uapi/v4l/buffer.rst
@@ -452,6 +452,9 @@ enum v4l2_buf_type
 * - ``V4L2_BUF_TYPE_META_CAPTURE``
   - 13
   - Buffer for metadata capture, see :ref:`metadata`.
+* - ``V4L2_BUF_TYPE_META_CAPTURE``
+  - 14
+  - Buffer for metadata output, see :ref:`metadata`.
 
 
 
diff --git a/Documentation/media/uapi/v4l/dev-meta.rst 
b/Documentation/media/uapi/v4l/dev-meta.rst
index 62518ad..cb007dd 100644
--- a/Documentation/media/uapi/v4l/dev-meta.rst
+++ b/Documentation/media/uapi/v4l/dev-meta.rst
@@ -7,21 +7,26 @@ Metadata Interface
 **
 
 Metadata refers to any non-image data that supplements video frames with
-additional information. This may include statistics computed over the image
-or frame capture parameters supplied by the image source. This interface is
-intended for transfer of metadata to userspace and control of that operation.
+additional information. This may include statistics computed over the image,
+frame capture parameters supplied by the image source or device specific
+parameters. This interface is intended for transfer of metadata between
+the userspace and the hardware and control of that operation.
 
-The metadata interface is implemented on video capture device nodes. The device
-can be dedicated to metadata or can implement both video and metadata capture
-as specified in its reported capabilities.
+The metadata interface is implemented on video device nodes. The device can be
+dedicated to metadata or can support both video and metadata as specified in 
its
+reported capabilities.
 
 Querying Capabilities
 =
 
-Device nodes supporting the metadata interface set the 
``V4L2_CAP_META_CAPTURE``
-flag in the ``device_caps`` field of the
+Device nodes supporting the metadata capture interface set the
+``V4L2_CAP_META_CAPTURE`` flag in the ``device_caps`` field of the
 :c:type:`v4l2_capability` structure returned by the :c:func:`VIDIOC_QUERYCAP`
-ioctl. That flag means the device can capture metadata to memory.
+ioctl. That flag means the device can capture metadata to memory. Similarly,
+device nodes supporting metadata output interface set the
+``V4L2_CAP_META_OUTPUT`` flag in the ``device_caps`` field of
+:c:type:`v4l2_capability` structure. That flag means the device can read
+metadata from memory.
 
 At least one of the read/write or streaming I/O methods must be supported.
 
@@ -35,10 +40,11 @@ to the basic :ref:`format` ioctls, the 
:c:func:`VIDIOC_ENUM_FMT` ioctl must be
 supported as well.
 
 To use the :ref:`format` ioctls applications set the ``type`` field of the
-:c:type:`v4l2_format` structure to ``V4L2_BUF_TYPE_META_CAPTURE`` and use the
-:c:type:`v4l2_meta_format` ``meta`` member of the ``fmt`` union as needed per
-the desired operation. Both drivers and applications must set the remainder of
-the :c:type:`v4l2_format` structure to 0.
+:c:type:`v4l2_format` structure to ``V4L2_BUF_TYPE_META_CAPTURE`` or to
+``V4L2_BUF_TYPE_META_OUTPUT`` and use the :c:type:`v4l2_meta_format` ``meta``
+member of the ``fmt`` union as needed per the desired operation. Both drivers
+and applications must set the remainder of the :c:type:`v4l2_format` structure
+to 0.
 
 .. _v4l2-meta-format:
 
diff --git a/Documentation/media/uapi/v4l/vidioc-querycap.rst 
b/Documentation/media/uapi/v4l/vidioc-querycap.rst
index 12e0d9a..36bf879 100644
--- a/Documentation/media/uapi/v4l/vidioc-querycap.rst
+++ b/Documentation/media/uapi/v4l/vidioc-querycap.rst
@@ -249,6 +249,9 @@ specification the ioctl returns an ``EINVAL`` error code.
 * - ``V4L2_CAP_STREAMING``
   - 0x0400
   - The device supports the :ref:`streaming ` I/O method.
+* - ``V4L2_CAP_META_OUTPUT``
+  - 0x0800
+  - The device supports the :ref:`metadata` output interface.
 * - ``V4L2_CAP_TOUCH``
   - 0x1000
   - This is a touch device.
-- 
2.7.4