diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2012-01-11 10:45:05 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-01-23 19:34:27 +0100 |
commit | 583aa3a9b5ca846a84f7dd87bdc4b75dca07b011 (patch) | |
tree | a86d9d5f2e9817e9faf9d2e06d212d4380924fe9 /Documentation/DocBook/media/v4l/vidioc-querycap.xml | |
parent | [media] omap_vout: fix section mismatch (diff) | |
download | linux-583aa3a9b5ca846a84f7dd87bdc4b75dca07b011.tar.xz linux-583aa3a9b5ca846a84f7dd87bdc4b75dca07b011.zip |
[media] V4L2: Add per-device-node capabilities
If V4L2_CAP_DEVICE_CAPS is set, then the new device_caps field is filled with
the capabilities of the opened device node.
The capabilities field traditionally contains the capabilities of the physical
device, being a superset of all capabilities available at the several device
nodes. E.g., if you open /dev/video0, then if it contains VBI caps then that means
that there is a corresponding vbi node as well. And the capabilities field of
both the video and vbi nodes should contain identical caps.
However, it would be very useful to also have a capabilities field that contains
just the caps for the currently open device, hence the new CAP bit and field.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'Documentation/DocBook/media/v4l/vidioc-querycap.xml')
-rw-r--r-- | Documentation/DocBook/media/v4l/vidioc-querycap.xml | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/Documentation/DocBook/media/v4l/vidioc-querycap.xml b/Documentation/DocBook/media/v4l/vidioc-querycap.xml index e3664d6f2de4..4643505cd4ca 100644 --- a/Documentation/DocBook/media/v4l/vidioc-querycap.xml +++ b/Documentation/DocBook/media/v4l/vidioc-querycap.xml @@ -124,12 +124,35 @@ printf ("Version: %u.%u.%u\n", <row> <entry>__u32</entry> <entry><structfield>capabilities</structfield></entry> - <entry>Device capabilities, see <xref - linkend="device-capabilities" />.</entry> + <entry>Available capabilities of the physical device as a whole, see <xref + linkend="device-capabilities" />. The same physical device can export + multiple devices in /dev (e.g. /dev/videoX, /dev/vbiY and /dev/radioZ). + The <structfield>capabilities</structfield> field should contain a union + of all capabilities available around the several V4L2 devices exported + to userspace. + For all those devices the <structfield>capabilities</structfield> field + returns the same set of capabilities. This allows applications to open + just one of the devices (typically the video device) and discover whether + video, vbi and/or radio are also supported. + </entry> </row> <row> <entry>__u32</entry> - <entry><structfield>reserved</structfield>[4]</entry> + <entry><structfield>device_caps</structfield></entry> + <entry>Device capabilities of the opened device, see <xref + linkend="device-capabilities" />. Should contain the available capabilities + of that specific device node. So, for example, <structfield>device_caps</structfield> + of a radio device will only contain radio related capabilities and + no video or vbi capabilities. This field is only set if the <structfield>capabilities</structfield> + field contains the <constant>V4L2_CAP_DEVICE_CAPS</constant> capability. + Only the <structfield>capabilities</structfield> field can have the + <constant>V4L2_CAP_DEVICE_CAPS</constant> capability, <structfield>device_caps</structfield> + will never set <constant>V4L2_CAP_DEVICE_CAPS</constant>. + </entry> + </row> + <row> + <entry>__u32</entry> + <entry><structfield>reserved</structfield>[3]</entry> <entry>Reserved for future extensions. Drivers must set this array to zero.</entry> </row> @@ -276,6 +299,13 @@ linkend="async">asynchronous</link> I/O methods.</entry> <entry>The device supports the <link linkend="mmap">streaming</link> I/O method.</entry> </row> + <row> + <entry><constant>V4L2_CAP_DEVICE_CAPS</constant></entry> + <entry>0x80000000</entry> + <entry>The driver fills the <structfield>device_caps</structfield> + field. This capability can only appear in the <structfield>capabilities</structfield> + field and never in the <structfield>device_caps</structfield> field.</entry> + </row> </tbody> </tgroup> </table> |