1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2407e84cdSMauro Carvalho Chehab.. c:namespace:: V4L
354f38fcaSMauro Carvalho Chehab
454f38fcaSMauro Carvalho Chehab.. _VIDIOC_DV_TIMINGS_CAP:
554f38fcaSMauro Carvalho Chehab
654f38fcaSMauro Carvalho Chehab*********************************************************
754f38fcaSMauro Carvalho Chehabioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP
854f38fcaSMauro Carvalho Chehab*********************************************************
954f38fcaSMauro Carvalho Chehab
1054f38fcaSMauro Carvalho ChehabName
1154f38fcaSMauro Carvalho Chehab====
1254f38fcaSMauro Carvalho Chehab
1354f38fcaSMauro Carvalho ChehabVIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter
1454f38fcaSMauro Carvalho Chehab
1554f38fcaSMauro Carvalho ChehabSynopsis
1654f38fcaSMauro Carvalho Chehab========
1754f38fcaSMauro Carvalho Chehab
18407e84cdSMauro Carvalho Chehab.. c:macro:: VIDIOC_DV_TIMINGS_CAP
1954f38fcaSMauro Carvalho Chehab
20407e84cdSMauro Carvalho Chehab``int ioctl(int fd, VIDIOC_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)``
2154f38fcaSMauro Carvalho Chehab
22407e84cdSMauro Carvalho Chehab.. c:macro:: VIDIOC_SUBDEV_DV_TIMINGS_CAP
23407e84cdSMauro Carvalho Chehab
24407e84cdSMauro Carvalho Chehab``int ioctl(int fd, VIDIOC_SUBDEV_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)``
2554f38fcaSMauro Carvalho Chehab
2654f38fcaSMauro Carvalho ChehabArguments
2754f38fcaSMauro Carvalho Chehab=========
2854f38fcaSMauro Carvalho Chehab
2954f38fcaSMauro Carvalho Chehab``fd``
30407e84cdSMauro Carvalho Chehab    File descriptor returned by :c:func:`open()`.
3154f38fcaSMauro Carvalho Chehab
3254f38fcaSMauro Carvalho Chehab``argp``
3354f38fcaSMauro Carvalho Chehab    Pointer to struct :c:type:`v4l2_dv_timings_cap`.
3454f38fcaSMauro Carvalho Chehab
3554f38fcaSMauro Carvalho ChehabDescription
3654f38fcaSMauro Carvalho Chehab===========
3754f38fcaSMauro Carvalho Chehab
3854f38fcaSMauro Carvalho ChehabTo query the capabilities of the DV receiver/transmitter applications
3954f38fcaSMauro Carvalho Chehabinitialize the ``pad`` field to 0, zero the reserved array of struct
4054f38fcaSMauro Carvalho Chehab:c:type:`v4l2_dv_timings_cap` and call the
4154f38fcaSMauro Carvalho Chehab``VIDIOC_DV_TIMINGS_CAP`` ioctl on a video node and the driver will fill
4254f38fcaSMauro Carvalho Chehabin the structure.
4354f38fcaSMauro Carvalho Chehab
4454f38fcaSMauro Carvalho Chehab.. note::
4554f38fcaSMauro Carvalho Chehab
4654f38fcaSMauro Carvalho Chehab   Drivers may return different values after
4754f38fcaSMauro Carvalho Chehab   switching the video input or output.
4854f38fcaSMauro Carvalho Chehab
4954f38fcaSMauro Carvalho ChehabWhen implemented by the driver DV capabilities of subdevices can be
5054f38fcaSMauro Carvalho Chehabqueried by calling the ``VIDIOC_SUBDEV_DV_TIMINGS_CAP`` ioctl directly
5154f38fcaSMauro Carvalho Chehabon a subdevice node. The capabilities are specific to inputs (for DV
5254f38fcaSMauro Carvalho Chehabreceivers) or outputs (for DV transmitters), applications must specify
5354f38fcaSMauro Carvalho Chehabthe desired pad number in the struct
5454f38fcaSMauro Carvalho Chehab:c:type:`v4l2_dv_timings_cap` ``pad`` field and
5554f38fcaSMauro Carvalho Chehabzero the ``reserved`` array. Attempts to query capabilities on a pad
5654f38fcaSMauro Carvalho Chehabthat doesn't support them will return an ``EINVAL`` error code.
5754f38fcaSMauro Carvalho Chehab
58*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{1.2cm}|p{3.2cm}|p{12.9cm}|
5954f38fcaSMauro Carvalho Chehab
6054f38fcaSMauro Carvalho Chehab.. c:type:: v4l2_bt_timings_cap
6154f38fcaSMauro Carvalho Chehab
6254f38fcaSMauro Carvalho Chehab.. flat-table:: struct v4l2_bt_timings_cap
6354f38fcaSMauro Carvalho Chehab    :header-rows:  0
6454f38fcaSMauro Carvalho Chehab    :stub-columns: 0
6554f38fcaSMauro Carvalho Chehab    :widths:       1 1 2
6654f38fcaSMauro Carvalho Chehab
6754f38fcaSMauro Carvalho Chehab    * - __u32
6854f38fcaSMauro Carvalho Chehab      - ``min_width``
6954f38fcaSMauro Carvalho Chehab      - Minimum width of the active video in pixels.
7054f38fcaSMauro Carvalho Chehab    * - __u32
7154f38fcaSMauro Carvalho Chehab      - ``max_width``
7254f38fcaSMauro Carvalho Chehab      - Maximum width of the active video in pixels.
7354f38fcaSMauro Carvalho Chehab    * - __u32
7454f38fcaSMauro Carvalho Chehab      - ``min_height``
7554f38fcaSMauro Carvalho Chehab      - Minimum height of the active video in lines.
7654f38fcaSMauro Carvalho Chehab    * - __u32
7754f38fcaSMauro Carvalho Chehab      - ``max_height``
7854f38fcaSMauro Carvalho Chehab      - Maximum height of the active video in lines.
7954f38fcaSMauro Carvalho Chehab    * - __u64
8054f38fcaSMauro Carvalho Chehab      - ``min_pixelclock``
8154f38fcaSMauro Carvalho Chehab      - Minimum pixelclock frequency in Hz.
8254f38fcaSMauro Carvalho Chehab    * - __u64
8354f38fcaSMauro Carvalho Chehab      - ``max_pixelclock``
8454f38fcaSMauro Carvalho Chehab      - Maximum pixelclock frequency in Hz.
8554f38fcaSMauro Carvalho Chehab    * - __u32
8654f38fcaSMauro Carvalho Chehab      - ``standards``
8754f38fcaSMauro Carvalho Chehab      - The video standard(s) supported by the hardware. See
8854f38fcaSMauro Carvalho Chehab	:ref:`dv-bt-standards` for a list of standards.
8954f38fcaSMauro Carvalho Chehab    * - __u32
9054f38fcaSMauro Carvalho Chehab      - ``capabilities``
9154f38fcaSMauro Carvalho Chehab      - Several flags giving more information about the capabilities. See
9254f38fcaSMauro Carvalho Chehab	:ref:`dv-bt-cap-capabilities` for a description of the flags.
9354f38fcaSMauro Carvalho Chehab    * - __u32
9454f38fcaSMauro Carvalho Chehab      - ``reserved``\ [16]
9554f38fcaSMauro Carvalho Chehab      - Reserved for future extensions.
9654f38fcaSMauro Carvalho Chehab	Drivers must set the array to zero.
9754f38fcaSMauro Carvalho Chehab
9854f38fcaSMauro Carvalho Chehab
99*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{4.4cm}|p{3.6cm}|p{9.3cm}|
10054f38fcaSMauro Carvalho Chehab
10154f38fcaSMauro Carvalho Chehab.. c:type:: v4l2_dv_timings_cap
10254f38fcaSMauro Carvalho Chehab
10354f38fcaSMauro Carvalho Chehab.. flat-table:: struct v4l2_dv_timings_cap
10454f38fcaSMauro Carvalho Chehab    :header-rows:  0
10554f38fcaSMauro Carvalho Chehab    :stub-columns: 0
10654f38fcaSMauro Carvalho Chehab    :widths:       1 1 2
10754f38fcaSMauro Carvalho Chehab
10854f38fcaSMauro Carvalho Chehab    * - __u32
10954f38fcaSMauro Carvalho Chehab      - ``type``
11054f38fcaSMauro Carvalho Chehab      - Type of DV timings as listed in :ref:`dv-timing-types`.
11154f38fcaSMauro Carvalho Chehab    * - __u32
11254f38fcaSMauro Carvalho Chehab      - ``pad``
11354f38fcaSMauro Carvalho Chehab      - Pad number as reported by the media controller API. This field is
11454f38fcaSMauro Carvalho Chehab	only used when operating on a subdevice node. When operating on a
11554f38fcaSMauro Carvalho Chehab	video node applications must set this field to zero.
11654f38fcaSMauro Carvalho Chehab    * - __u32
11754f38fcaSMauro Carvalho Chehab      - ``reserved``\ [2]
11854f38fcaSMauro Carvalho Chehab      - Reserved for future extensions.
11954f38fcaSMauro Carvalho Chehab
12054f38fcaSMauro Carvalho Chehab	Drivers and applications must set the array to zero.
12154f38fcaSMauro Carvalho Chehab    * - union {
12254f38fcaSMauro Carvalho Chehab      - (anonymous)
12354f38fcaSMauro Carvalho Chehab    * - struct :c:type:`v4l2_bt_timings_cap`
12454f38fcaSMauro Carvalho Chehab      - ``bt``
12554f38fcaSMauro Carvalho Chehab      - BT.656/1120 timings capabilities of the hardware.
12654f38fcaSMauro Carvalho Chehab    * - __u32
12754f38fcaSMauro Carvalho Chehab      - ``raw_data``\ [32]
12854f38fcaSMauro Carvalho Chehab    * - }
12954f38fcaSMauro Carvalho Chehab      -
13054f38fcaSMauro Carvalho Chehab
131*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{7.2cm}|p{10.3cm}|
13254f38fcaSMauro Carvalho Chehab
13354f38fcaSMauro Carvalho Chehab.. _dv-bt-cap-capabilities:
13454f38fcaSMauro Carvalho Chehab
13554f38fcaSMauro Carvalho Chehab.. flat-table:: DV BT Timing capabilities
13654f38fcaSMauro Carvalho Chehab    :header-rows:  0
13754f38fcaSMauro Carvalho Chehab    :stub-columns: 0
13854f38fcaSMauro Carvalho Chehab
13954f38fcaSMauro Carvalho Chehab    * - Flag
14054f38fcaSMauro Carvalho Chehab      - Description
14154f38fcaSMauro Carvalho Chehab    * -
14254f38fcaSMauro Carvalho Chehab      -
14354f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_BT_CAP_INTERLACED``
14454f38fcaSMauro Carvalho Chehab      - Interlaced formats are supported.
14554f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_BT_CAP_PROGRESSIVE``
14654f38fcaSMauro Carvalho Chehab      - Progressive formats are supported.
14754f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_BT_CAP_REDUCED_BLANKING``
14854f38fcaSMauro Carvalho Chehab      - CVT/GTF specific: the timings can make use of reduced blanking
14954f38fcaSMauro Carvalho Chehab	(CVT) or the 'Secondary GTF' curve (GTF).
15054f38fcaSMauro Carvalho Chehab    * - ``V4L2_DV_BT_CAP_CUSTOM``
15154f38fcaSMauro Carvalho Chehab      - Can support non-standard timings, i.e. timings not belonging to
15254f38fcaSMauro Carvalho Chehab	the standards set in the ``standards`` field.
15354f38fcaSMauro Carvalho Chehab
15454f38fcaSMauro Carvalho ChehabReturn Value
15554f38fcaSMauro Carvalho Chehab============
15654f38fcaSMauro Carvalho Chehab
15754f38fcaSMauro Carvalho ChehabOn success 0 is returned, on error -1 and the ``errno`` variable is set
15854f38fcaSMauro Carvalho Chehabappropriately. The generic error codes are described at the
15954f38fcaSMauro Carvalho Chehab:ref:`Generic Error Codes <gen-errors>` chapter.
160