1 .. Permission is granted to copy, distribute and/or modify this
2 .. document under the terms of the GNU Free Documentation License,
3 .. Version 1.1 or any later version published by the Free Software
4 .. Foundation, with no Invariant Sections, no Front-Cover Texts
5 .. and no Back-Cover Texts. A copy of the license is included at
6 .. Documentation/media/uapi/fdl-appendix.rst.
8 .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
10 .. _VIDIOC_DV_TIMINGS_CAP:
12 *********************************************************
13 ioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP
14 *********************************************************
19 VIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter
25 .. c:function:: int ioctl( int fd, VIDIOC_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp )
26 :name: VIDIOC_DV_TIMINGS_CAP
28 .. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp )
29 :name: VIDIOC_SUBDEV_DV_TIMINGS_CAP
36 File descriptor returned by :ref:`open() <func-open>`.
39 Pointer to struct :c:type:`v4l2_dv_timings_cap`.
45 To query the capabilities of the DV receiver/transmitter applications
46 initialize the ``pad`` field to 0, zero the reserved array of struct
47 :c:type:`v4l2_dv_timings_cap` and call the
48 ``VIDIOC_DV_TIMINGS_CAP`` ioctl on a video node and the driver will fill
53 Drivers may return different values after
54 switching the video input or output.
56 When implemented by the driver DV capabilities of subdevices can be
57 queried by calling the ``VIDIOC_SUBDEV_DV_TIMINGS_CAP`` ioctl directly
58 on a subdevice node. The capabilities are specific to inputs (for DV
59 receivers) or outputs (for DV transmitters), applications must specify
60 the desired pad number in the struct
61 :c:type:`v4l2_dv_timings_cap` ``pad`` field and
62 zero the ``reserved`` array. Attempts to query capabilities on a pad
63 that doesn't support them will return an ``EINVAL`` error code.
66 .. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{13.3cm}|
68 .. c:type:: v4l2_bt_timings_cap
70 .. flat-table:: struct v4l2_bt_timings_cap
77 - Minimum width of the active video in pixels.
80 - Maximum width of the active video in pixels.
83 - Minimum height of the active video in lines.
86 - Maximum height of the active video in lines.
89 - Minimum pixelclock frequency in Hz.
92 - Maximum pixelclock frequency in Hz.
95 - The video standard(s) supported by the hardware. See
96 :ref:`dv-bt-standards` for a list of standards.
99 - Several flags giving more information about the capabilities. See
100 :ref:`dv-bt-cap-capabilities` for a description of the flags.
103 - Reserved for future extensions.
104 Drivers must set the array to zero.
108 .. tabularcolumns:: |p{1.0cm}|p{4.0cm}|p{3.5cm}|p{9.2cm}|
110 .. c:type:: v4l2_dv_timings_cap
112 .. flat-table:: struct v4l2_dv_timings_cap
119 - Type of DV timings as listed in :ref:`dv-timing-types`.
122 - Pad number as reported by the media controller API. This field is
123 only used when operating on a subdevice node. When operating on a
124 video node applications must set this field to zero.
127 - Reserved for future extensions.
129 Drivers and applications must set the array to zero.
134 - struct :c:type:`v4l2_bt_timings_cap`
136 - BT.656/1120 timings capabilities of the hardware.
142 .. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
144 .. _dv-bt-cap-capabilities:
146 .. flat-table:: DV BT Timing capabilities
154 * - ``V4L2_DV_BT_CAP_INTERLACED``
155 - Interlaced formats are supported.
156 * - ``V4L2_DV_BT_CAP_PROGRESSIVE``
157 - Progressive formats are supported.
158 * - ``V4L2_DV_BT_CAP_REDUCED_BLANKING``
159 - CVT/GTF specific: the timings can make use of reduced blanking
160 (CVT) or the 'Secondary GTF' curve (GTF).
161 * - ``V4L2_DV_BT_CAP_CUSTOM``
162 - Can support non-standard timings, i.e. timings not belonging to
163 the standards set in the ``standards`` field.
169 On success 0 is returned, on error -1 and the ``errno`` variable is set
170 appropriately. The generic error codes are described at the
171 :ref:`Generic Error Codes <gen-errors>` chapter.