2016-06-30 21:18:56 +08:00
|
|
|
.. -*- coding: utf-8; mode: rst -*-
|
|
|
|
|
2016-07-02 00:42:29 +08:00
|
|
|
.. _VIDIOC_DV_TIMINGS_CAP:
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
*********************************************************
|
|
|
|
ioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP
|
|
|
|
*********************************************************
|
|
|
|
|
2016-07-06 02:14:35 +08:00
|
|
|
Name
|
2016-07-05 18:58:48 +08:00
|
|
|
====
|
2016-06-30 21:18:56 +08:00
|
|
|
|
2016-07-05 18:58:48 +08:00
|
|
|
VIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter
|
2016-06-30 21:18:56 +08:00
|
|
|
|
2016-07-06 02:14:35 +08:00
|
|
|
|
|
|
|
Synopsis
|
2016-06-30 21:18:56 +08:00
|
|
|
========
|
|
|
|
|
2016-07-02 20:49:16 +08:00
|
|
|
.. cpp:function:: int ioctl( int fd, int request, struct v4l2_dv_timings_cap *argp )
|
2016-06-30 21:18:56 +08:00
|
|
|
|
2016-07-05 18:58:48 +08:00
|
|
|
|
2016-07-06 02:14:35 +08:00
|
|
|
Arguments
|
2016-06-30 21:18:56 +08:00
|
|
|
=========
|
|
|
|
|
|
|
|
``fd``
|
|
|
|
File descriptor returned by :ref:`open() <func-open>`.
|
|
|
|
|
|
|
|
``request``
|
|
|
|
VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP
|
|
|
|
|
|
|
|
``argp``
|
|
|
|
|
|
|
|
|
2016-07-06 02:14:35 +08:00
|
|
|
Description
|
2016-06-30 21:18:56 +08:00
|
|
|
===========
|
|
|
|
|
|
|
|
To query the capabilities of the DV receiver/transmitter applications
|
|
|
|
initialize the ``pad`` field to 0, zero the reserved array of struct
|
|
|
|
:ref:`v4l2_dv_timings_cap <v4l2-dv-timings-cap>` and call the
|
|
|
|
``VIDIOC_DV_TIMINGS_CAP`` ioctl on a video node and the driver will fill
|
2016-07-10 22:57:43 +08:00
|
|
|
in the structure.
|
|
|
|
|
|
|
|
.. note:: Drivers may return different values after
|
|
|
|
switching the video input or output.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
When implemented by the driver DV capabilities of subdevices can be
|
|
|
|
queried by calling the ``VIDIOC_SUBDEV_DV_TIMINGS_CAP`` ioctl directly
|
|
|
|
on a subdevice node. The capabilities are specific to inputs (for DV
|
|
|
|
receivers) or outputs (for DV transmitters), applications must specify
|
|
|
|
the desired pad number in the struct
|
|
|
|
:ref:`v4l2_dv_timings_cap <v4l2-dv-timings-cap>` ``pad`` field and
|
|
|
|
zero the ``reserved`` array. Attempts to query capabilities on a pad
|
2016-07-03 22:53:09 +08:00
|
|
|
that doesn't support them will return an ``EINVAL`` error code.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
.. _v4l2-bt-timings-cap:
|
|
|
|
|
|
|
|
.. flat-table:: struct v4l2_bt_timings_cap
|
|
|
|
:header-rows: 0
|
|
|
|
:stub-columns: 0
|
|
|
|
:widths: 1 1 2
|
|
|
|
|
|
|
|
|
|
|
|
- .. row 1
|
|
|
|
|
|
|
|
- __u32
|
|
|
|
|
|
|
|
- ``min_width``
|
|
|
|
|
|
|
|
- Minimum width of the active video in pixels.
|
|
|
|
|
|
|
|
- .. row 2
|
|
|
|
|
|
|
|
- __u32
|
|
|
|
|
|
|
|
- ``max_width``
|
|
|
|
|
|
|
|
- Maximum width of the active video in pixels.
|
|
|
|
|
|
|
|
- .. row 3
|
|
|
|
|
|
|
|
- __u32
|
|
|
|
|
|
|
|
- ``min_height``
|
|
|
|
|
|
|
|
- Minimum height of the active video in lines.
|
|
|
|
|
|
|
|
- .. row 4
|
|
|
|
|
|
|
|
- __u32
|
|
|
|
|
|
|
|
- ``max_height``
|
|
|
|
|
|
|
|
- Maximum height of the active video in lines.
|
|
|
|
|
|
|
|
- .. row 5
|
|
|
|
|
|
|
|
- __u64
|
|
|
|
|
|
|
|
- ``min_pixelclock``
|
|
|
|
|
|
|
|
- Minimum pixelclock frequency in Hz.
|
|
|
|
|
|
|
|
- .. row 6
|
|
|
|
|
|
|
|
- __u64
|
|
|
|
|
|
|
|
- ``max_pixelclock``
|
|
|
|
|
|
|
|
- Maximum pixelclock frequency in Hz.
|
|
|
|
|
|
|
|
- .. row 7
|
|
|
|
|
|
|
|
- __u32
|
|
|
|
|
|
|
|
- ``standards``
|
|
|
|
|
|
|
|
- The video standard(s) supported by the hardware. See
|
2016-07-05 03:25:48 +08:00
|
|
|
:ref:`dv-bt-standards` for a list of standards.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- .. row 8
|
|
|
|
|
|
|
|
- __u32
|
|
|
|
|
|
|
|
- ``capabilities``
|
|
|
|
|
|
|
|
- Several flags giving more information about the capabilities. See
|
2016-07-05 03:25:48 +08:00
|
|
|
:ref:`dv-bt-cap-capabilities` for a description of the flags.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- .. row 9
|
|
|
|
|
|
|
|
- __u32
|
|
|
|
|
2016-07-13 02:20:11 +08:00
|
|
|
- ``reserved``\ \[16\]
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- Reserved for future extensions. Drivers must set the array to
|
2016-07-05 03:25:48 +08:00
|
|
|
zero.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. _v4l2-dv-timings-cap:
|
|
|
|
|
|
|
|
.. flat-table:: struct v4l2_dv_timings_cap
|
|
|
|
:header-rows: 0
|
|
|
|
:stub-columns: 0
|
|
|
|
:widths: 1 1 2 1
|
|
|
|
|
|
|
|
|
|
|
|
- .. row 1
|
|
|
|
|
|
|
|
- __u32
|
|
|
|
|
|
|
|
- ``type``
|
|
|
|
|
|
|
|
- Type of DV timings as listed in :ref:`dv-timing-types`.
|
|
|
|
|
|
|
|
- .. row 2
|
|
|
|
|
|
|
|
- __u32
|
|
|
|
|
|
|
|
- ``pad``
|
|
|
|
|
|
|
|
- Pad number as reported by the media controller API. This field is
|
2016-07-05 03:25:48 +08:00
|
|
|
only used when operating on a subdevice node. When operating on a
|
|
|
|
video node applications must set this field to zero.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- .. row 3
|
|
|
|
|
|
|
|
- __u32
|
|
|
|
|
2016-07-13 02:20:11 +08:00
|
|
|
- ``reserved``\ \[2\]
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- Reserved for future extensions. Drivers and applications must set
|
2016-07-05 03:25:48 +08:00
|
|
|
the array to zero.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- .. row 4
|
|
|
|
|
|
|
|
- union
|
|
|
|
|
2016-07-05 03:25:48 +08:00
|
|
|
-
|
|
|
|
-
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- .. row 5
|
|
|
|
|
2016-07-05 03:25:48 +08:00
|
|
|
-
|
2016-06-30 21:18:56 +08:00
|
|
|
- struct :ref:`v4l2_bt_timings_cap <v4l2-bt-timings-cap>`
|
|
|
|
|
|
|
|
- ``bt``
|
|
|
|
|
|
|
|
- BT.656/1120 timings capabilities of the hardware.
|
|
|
|
|
|
|
|
- .. row 6
|
|
|
|
|
2016-07-05 03:25:48 +08:00
|
|
|
-
|
2016-06-30 21:18:56 +08:00
|
|
|
- __u32
|
|
|
|
|
2016-07-13 02:20:11 +08:00
|
|
|
- ``raw_data``\ \[32\]
|
2016-06-30 21:18:56 +08:00
|
|
|
|
2016-07-05 03:25:48 +08:00
|
|
|
-
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. _dv-bt-cap-capabilities:
|
|
|
|
|
|
|
|
.. flat-table:: DV BT Timing capabilities
|
|
|
|
:header-rows: 0
|
|
|
|
:stub-columns: 0
|
|
|
|
|
|
|
|
|
|
|
|
- .. row 1
|
|
|
|
|
|
|
|
- Flag
|
|
|
|
|
|
|
|
- Description
|
|
|
|
|
|
|
|
- .. row 2
|
|
|
|
|
2016-07-05 03:25:48 +08:00
|
|
|
-
|
|
|
|
-
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- .. row 3
|
|
|
|
|
2016-07-08 17:43:00 +08:00
|
|
|
- ``V4L2_DV_BT_CAP_INTERLACED``
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- Interlaced formats are supported.
|
|
|
|
|
|
|
|
- .. row 4
|
|
|
|
|
2016-07-08 17:43:00 +08:00
|
|
|
- ``V4L2_DV_BT_CAP_PROGRESSIVE``
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- Progressive formats are supported.
|
|
|
|
|
|
|
|
- .. row 5
|
|
|
|
|
2016-07-08 17:43:00 +08:00
|
|
|
- ``V4L2_DV_BT_CAP_REDUCED_BLANKING``
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- CVT/GTF specific: the timings can make use of reduced blanking
|
2016-07-05 03:25:48 +08:00
|
|
|
(CVT) or the 'Secondary GTF' curve (GTF).
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- .. row 6
|
|
|
|
|
2016-07-08 17:43:00 +08:00
|
|
|
- ``V4L2_DV_BT_CAP_CUSTOM``
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
- Can support non-standard timings, i.e. timings not belonging to
|
2016-07-05 03:25:48 +08:00
|
|
|
the standards set in the ``standards`` field.
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
|
2016-07-06 02:14:35 +08:00
|
|
|
Return Value
|
2016-06-30 21:18:56 +08:00
|
|
|
============
|
|
|
|
|
|
|
|
On success 0 is returned, on error -1 and the ``errno`` variable is set
|
|
|
|
appropriately. The generic error codes are described at the
|
|
|
|
:ref:`Generic Error Codes <gen-errors>` chapter.
|