162306a36Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 262306a36Sopenharmony_ci.. c:namespace:: V4L 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci.. _VIDIOC_DV_TIMINGS_CAP: 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci********************************************************* 762306a36Sopenharmony_ciioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP 862306a36Sopenharmony_ci********************************************************* 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciName 1162306a36Sopenharmony_ci==== 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciVIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciSynopsis 1662306a36Sopenharmony_ci======== 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci.. c:macro:: VIDIOC_DV_TIMINGS_CAP 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci``int ioctl(int fd, VIDIOC_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)`` 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci.. c:macro:: VIDIOC_SUBDEV_DV_TIMINGS_CAP 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci``int ioctl(int fd, VIDIOC_SUBDEV_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)`` 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciArguments 2762306a36Sopenharmony_ci========= 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci``fd`` 3062306a36Sopenharmony_ci File descriptor returned by :c:func:`open()`. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci``argp`` 3362306a36Sopenharmony_ci Pointer to struct :c:type:`v4l2_dv_timings_cap`. 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciDescription 3662306a36Sopenharmony_ci=========== 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciTo query the capabilities of the DV receiver/transmitter applications 3962306a36Sopenharmony_ciinitialize the ``pad`` field to 0, zero the reserved array of struct 4062306a36Sopenharmony_ci:c:type:`v4l2_dv_timings_cap` and call the 4162306a36Sopenharmony_ci``VIDIOC_DV_TIMINGS_CAP`` ioctl on a video node and the driver will fill 4262306a36Sopenharmony_ciin the structure. 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci.. note:: 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci Drivers may return different values after 4762306a36Sopenharmony_ci switching the video input or output. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciWhen implemented by the driver DV capabilities of subdevices can be 5062306a36Sopenharmony_ciqueried by calling the ``VIDIOC_SUBDEV_DV_TIMINGS_CAP`` ioctl directly 5162306a36Sopenharmony_cion a subdevice node. The capabilities are specific to inputs (for DV 5262306a36Sopenharmony_cireceivers) or outputs (for DV transmitters), applications must specify 5362306a36Sopenharmony_cithe desired pad number in the struct 5462306a36Sopenharmony_ci:c:type:`v4l2_dv_timings_cap` ``pad`` field and 5562306a36Sopenharmony_cizero the ``reserved`` array. Attempts to query capabilities on a pad 5662306a36Sopenharmony_cithat doesn't support them will return an ``EINVAL`` error code. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci.. tabularcolumns:: |p{1.2cm}|p{3.2cm}|p{12.9cm}| 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci.. c:type:: v4l2_bt_timings_cap 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci.. flat-table:: struct v4l2_bt_timings_cap 6362306a36Sopenharmony_ci :header-rows: 0 6462306a36Sopenharmony_ci :stub-columns: 0 6562306a36Sopenharmony_ci :widths: 1 1 2 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci * - __u32 6862306a36Sopenharmony_ci - ``min_width`` 6962306a36Sopenharmony_ci - Minimum width of the active video in pixels. 7062306a36Sopenharmony_ci * - __u32 7162306a36Sopenharmony_ci - ``max_width`` 7262306a36Sopenharmony_ci - Maximum width of the active video in pixels. 7362306a36Sopenharmony_ci * - __u32 7462306a36Sopenharmony_ci - ``min_height`` 7562306a36Sopenharmony_ci - Minimum height of the active video in lines. 7662306a36Sopenharmony_ci * - __u32 7762306a36Sopenharmony_ci - ``max_height`` 7862306a36Sopenharmony_ci - Maximum height of the active video in lines. 7962306a36Sopenharmony_ci * - __u64 8062306a36Sopenharmony_ci - ``min_pixelclock`` 8162306a36Sopenharmony_ci - Minimum pixelclock frequency in Hz. 8262306a36Sopenharmony_ci * - __u64 8362306a36Sopenharmony_ci - ``max_pixelclock`` 8462306a36Sopenharmony_ci - Maximum pixelclock frequency in Hz. 8562306a36Sopenharmony_ci * - __u32 8662306a36Sopenharmony_ci - ``standards`` 8762306a36Sopenharmony_ci - The video standard(s) supported by the hardware. See 8862306a36Sopenharmony_ci :ref:`dv-bt-standards` for a list of standards. 8962306a36Sopenharmony_ci * - __u32 9062306a36Sopenharmony_ci - ``capabilities`` 9162306a36Sopenharmony_ci - Several flags giving more information about the capabilities. See 9262306a36Sopenharmony_ci :ref:`dv-bt-cap-capabilities` for a description of the flags. 9362306a36Sopenharmony_ci * - __u32 9462306a36Sopenharmony_ci - ``reserved``\ [16] 9562306a36Sopenharmony_ci - Reserved for future extensions. 9662306a36Sopenharmony_ci Drivers must set the array to zero. 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci.. tabularcolumns:: |p{4.4cm}|p{3.6cm}|p{9.3cm}| 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci.. c:type:: v4l2_dv_timings_cap 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci.. flat-table:: struct v4l2_dv_timings_cap 10462306a36Sopenharmony_ci :header-rows: 0 10562306a36Sopenharmony_ci :stub-columns: 0 10662306a36Sopenharmony_ci :widths: 1 1 2 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci * - __u32 10962306a36Sopenharmony_ci - ``type`` 11062306a36Sopenharmony_ci - Type of DV timings as listed in :ref:`dv-timing-types`. 11162306a36Sopenharmony_ci * - __u32 11262306a36Sopenharmony_ci - ``pad`` 11362306a36Sopenharmony_ci - Pad number as reported by the media controller API. This field is 11462306a36Sopenharmony_ci only used when operating on a subdevice node. When operating on a 11562306a36Sopenharmony_ci video node applications must set this field to zero. 11662306a36Sopenharmony_ci * - __u32 11762306a36Sopenharmony_ci - ``reserved``\ [2] 11862306a36Sopenharmony_ci - Reserved for future extensions. 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci Drivers and applications must set the array to zero. 12162306a36Sopenharmony_ci * - union { 12262306a36Sopenharmony_ci - (anonymous) 12362306a36Sopenharmony_ci * - struct :c:type:`v4l2_bt_timings_cap` 12462306a36Sopenharmony_ci - ``bt`` 12562306a36Sopenharmony_ci - BT.656/1120 timings capabilities of the hardware. 12662306a36Sopenharmony_ci * - __u32 12762306a36Sopenharmony_ci - ``raw_data``\ [32] 12862306a36Sopenharmony_ci * - } 12962306a36Sopenharmony_ci - 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci.. tabularcolumns:: |p{7.2cm}|p{10.3cm}| 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci.. _dv-bt-cap-capabilities: 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci.. flat-table:: DV BT Timing capabilities 13662306a36Sopenharmony_ci :header-rows: 0 13762306a36Sopenharmony_ci :stub-columns: 0 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci * - Flag 14062306a36Sopenharmony_ci - Description 14162306a36Sopenharmony_ci * - 14262306a36Sopenharmony_ci - 14362306a36Sopenharmony_ci * - ``V4L2_DV_BT_CAP_INTERLACED`` 14462306a36Sopenharmony_ci - Interlaced formats are supported. 14562306a36Sopenharmony_ci * - ``V4L2_DV_BT_CAP_PROGRESSIVE`` 14662306a36Sopenharmony_ci - Progressive formats are supported. 14762306a36Sopenharmony_ci * - ``V4L2_DV_BT_CAP_REDUCED_BLANKING`` 14862306a36Sopenharmony_ci - CVT/GTF specific: the timings can make use of reduced blanking 14962306a36Sopenharmony_ci (CVT) or the 'Secondary GTF' curve (GTF). 15062306a36Sopenharmony_ci * - ``V4L2_DV_BT_CAP_CUSTOM`` 15162306a36Sopenharmony_ci - Can support non-standard timings, i.e. timings not belonging to 15262306a36Sopenharmony_ci the standards set in the ``standards`` field. 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ciReturn Value 15562306a36Sopenharmony_ci============ 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ciOn success 0 is returned, on error -1 and the ``errno`` variable is set 15862306a36Sopenharmony_ciappropriately. The generic error codes are described at the 15962306a36Sopenharmony_ci:ref:`Generic Error Codes <gen-errors>` chapter. 160