| .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later |
| .. c:namespace:: V4L |
| |
| .. _VIDIOC_DV_TIMINGS_CAP: |
| |
| ********************************************************* |
| ioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP |
| ********************************************************* |
| |
| Name |
| ==== |
| |
| VIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter |
| |
| Synopsis |
| ======== |
| |
| .. c:macro:: VIDIOC_DV_TIMINGS_CAP |
| |
| ``int ioctl(int fd, VIDIOC_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)`` |
| |
| .. c:macro:: VIDIOC_SUBDEV_DV_TIMINGS_CAP |
| |
| ``int ioctl(int fd, VIDIOC_SUBDEV_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)`` |
| |
| Arguments |
| ========= |
| |
| ``fd`` |
| File descriptor returned by :c:func:`open()`. |
| |
| ``argp`` |
| Pointer to struct :c:type:`v4l2_dv_timings_cap`. |
| |
| Description |
| =========== |
| |
| To query the capabilities of the DV receiver/transmitter applications |
| initialize the ``pad`` field to 0, zero the reserved array of struct |
| :c:type:`v4l2_dv_timings_cap` and call the |
| ``VIDIOC_DV_TIMINGS_CAP`` ioctl on a video node and the driver will fill |
| in the structure. |
| |
| .. note:: |
| |
| Drivers may return different values after |
| switching the video input or output. |
| |
| 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 |
| :c:type:`v4l2_dv_timings_cap` ``pad`` field and |
| zero the ``reserved`` array. Attempts to query capabilities on a pad |
| that doesn't support them will return an ``EINVAL`` error code. |
| |
| .. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{13.3cm}| |
| |
| .. c:type:: v4l2_bt_timings_cap |
| |
| .. flat-table:: struct v4l2_bt_timings_cap |
| :header-rows: 0 |
| :stub-columns: 0 |
| :widths: 1 1 2 |
| |
| * - __u32 |
| - ``min_width`` |
| - Minimum width of the active video in pixels. |
| * - __u32 |
| - ``max_width`` |
| - Maximum width of the active video in pixels. |
| * - __u32 |
| - ``min_height`` |
| - Minimum height of the active video in lines. |
| * - __u32 |
| - ``max_height`` |
| - Maximum height of the active video in lines. |
| * - __u64 |
| - ``min_pixelclock`` |
| - Minimum pixelclock frequency in Hz. |
| * - __u64 |
| - ``max_pixelclock`` |
| - Maximum pixelclock frequency in Hz. |
| * - __u32 |
| - ``standards`` |
| - The video standard(s) supported by the hardware. See |
| :ref:`dv-bt-standards` for a list of standards. |
| * - __u32 |
| - ``capabilities`` |
| - Several flags giving more information about the capabilities. See |
| :ref:`dv-bt-cap-capabilities` for a description of the flags. |
| * - __u32 |
| - ``reserved``\ [16] |
| - Reserved for future extensions. |
| Drivers must set the array to zero. |
| |
| |
| .. tabularcolumns:: |p{1.0cm}|p{4.0cm}|p{3.5cm}|p{9.2cm}| |
| |
| .. c:type:: v4l2_dv_timings_cap |
| |
| .. flat-table:: struct v4l2_dv_timings_cap |
| :header-rows: 0 |
| :stub-columns: 0 |
| :widths: 1 1 2 |
| |
| * - __u32 |
| - ``type`` |
| - Type of DV timings as listed in :ref:`dv-timing-types`. |
| * - __u32 |
| - ``pad`` |
| - Pad number as reported by the media controller API. This field is |
| only used when operating on a subdevice node. When operating on a |
| video node applications must set this field to zero. |
| * - __u32 |
| - ``reserved``\ [2] |
| - Reserved for future extensions. |
| |
| Drivers and applications must set the array to zero. |
| * - union { |
| - (anonymous) |
| * - struct :c:type:`v4l2_bt_timings_cap` |
| - ``bt`` |
| - BT.656/1120 timings capabilities of the hardware. |
| * - __u32 |
| - ``raw_data``\ [32] |
| * - } |
| - |
| |
| .. tabularcolumns:: |p{7.0cm}|p{10.5cm}| |
| |
| .. _dv-bt-cap-capabilities: |
| |
| .. flat-table:: DV BT Timing capabilities |
| :header-rows: 0 |
| :stub-columns: 0 |
| |
| * - Flag |
| - Description |
| * - |
| - |
| * - ``V4L2_DV_BT_CAP_INTERLACED`` |
| - Interlaced formats are supported. |
| * - ``V4L2_DV_BT_CAP_PROGRESSIVE`` |
| - Progressive formats are supported. |
| * - ``V4L2_DV_BT_CAP_REDUCED_BLANKING`` |
| - CVT/GTF specific: the timings can make use of reduced blanking |
| (CVT) or the 'Secondary GTF' curve (GTF). |
| * - ``V4L2_DV_BT_CAP_CUSTOM`` |
| - Can support non-standard timings, i.e. timings not belonging to |
| the standards set in the ``standards`` field. |
| |
| Return Value |
| ============ |
| |
| 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. |