Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2.. c:namespace:: V4L
3
4.. _VIDIOC_DV_TIMINGS_CAP:
5
6*********************************************************
7ioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP
8*********************************************************
9
10Name
11====
12
13VIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter
14
15Synopsis
16========
17
18.. c:macro:: VIDIOC_DV_TIMINGS_CAP
19
20``int ioctl(int fd, VIDIOC_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)``
21
22.. c:macro:: VIDIOC_SUBDEV_DV_TIMINGS_CAP
23
24``int ioctl(int fd, VIDIOC_SUBDEV_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)``
25
26Arguments
27=========
28
29``fd``
30 File descriptor returned by :c:func:`open()`.
31
32``argp``
33 Pointer to struct :c:type:`v4l2_dv_timings_cap`.
34
35Description
36===========
37
38To query the capabilities of the DV receiver/transmitter applications
39initialize the ``pad`` field to 0, zero the reserved array of struct
40:c:type:`v4l2_dv_timings_cap` and call the
41``VIDIOC_DV_TIMINGS_CAP`` ioctl on a video node and the driver will fill
42in the structure.
43
44.. note::
45
46 Drivers may return different values after
47 switching the video input or output.
48
49When implemented by the driver DV capabilities of subdevices can be
50queried by calling the ``VIDIOC_SUBDEV_DV_TIMINGS_CAP`` ioctl directly
51on a subdevice node. The capabilities are specific to inputs (for DV
52receivers) or outputs (for DV transmitters), applications must specify
53the desired pad number in the struct
54:c:type:`v4l2_dv_timings_cap` ``pad`` field and
55zero the ``reserved`` array. Attempts to query capabilities on a pad
56that doesn't support them will return an ``EINVAL`` error code.
57
58.. tabularcolumns:: |p{1.2cm}|p{3.2cm}|p{12.9cm}|
59
60.. c:type:: v4l2_bt_timings_cap
61
62.. flat-table:: struct v4l2_bt_timings_cap
63 :header-rows: 0
64 :stub-columns: 0
65 :widths: 1 1 2
66
67 * - __u32
68 - ``min_width``
69 - Minimum width of the active video in pixels.
70 * - __u32
71 - ``max_width``
72 - Maximum width of the active video in pixels.
73 * - __u32
74 - ``min_height``
75 - Minimum height of the active video in lines.
76 * - __u32
77 - ``max_height``
78 - Maximum height of the active video in lines.
79 * - __u64
80 - ``min_pixelclock``
81 - Minimum pixelclock frequency in Hz.
82 * - __u64
83 - ``max_pixelclock``
84 - Maximum pixelclock frequency in Hz.
85 * - __u32
86 - ``standards``
87 - The video standard(s) supported by the hardware. See
88 :ref:`dv-bt-standards` for a list of standards.
89 * - __u32
90 - ``capabilities``
91 - Several flags giving more information about the capabilities. See
92 :ref:`dv-bt-cap-capabilities` for a description of the flags.
93 * - __u32
94 - ``reserved``\ [16]
95 - Reserved for future extensions.
96 Drivers must set the array to zero.
97
98
99.. tabularcolumns:: |p{4.4cm}|p{3.6cm}|p{9.3cm}|
100
101.. c:type:: v4l2_dv_timings_cap
102
103.. flat-table:: struct v4l2_dv_timings_cap
104 :header-rows: 0
105 :stub-columns: 0
106 :widths: 1 1 2
107
108 * - __u32
109 - ``type``
110 - Type of DV timings as listed in :ref:`dv-timing-types`.
111 * - __u32
112 - ``pad``
113 - Pad number as reported by the media controller API. This field is
114 only used when operating on a subdevice node. When operating on a
115 video node applications must set this field to zero.
116 * - __u32
117 - ``reserved``\ [2]
118 - Reserved for future extensions.
119
120 Drivers and applications must set the array to zero.
121 * - union {
122 - (anonymous)
123 * - struct :c:type:`v4l2_bt_timings_cap`
124 - ``bt``
125 - BT.656/1120 timings capabilities of the hardware.
126 * - __u32
127 - ``raw_data``\ [32]
128 * - }
129 -
130
131.. tabularcolumns:: |p{7.2cm}|p{10.3cm}|
132
133.. _dv-bt-cap-capabilities:
134
135.. flat-table:: DV BT Timing capabilities
136 :header-rows: 0
137 :stub-columns: 0
138
139 * - Flag
140 - Description
141 * -
142 -
143 * - ``V4L2_DV_BT_CAP_INTERLACED``
144 - Interlaced formats are supported.
145 * - ``V4L2_DV_BT_CAP_PROGRESSIVE``
146 - Progressive formats are supported.
147 * - ``V4L2_DV_BT_CAP_REDUCED_BLANKING``
148 - CVT/GTF specific: the timings can make use of reduced blanking
149 (CVT) or the 'Secondary GTF' curve (GTF).
150 * - ``V4L2_DV_BT_CAP_CUSTOM``
151 - Can support non-standard timings, i.e. timings not belonging to
152 the standards set in the ``standards`` field.
153
154Return Value
155============
156
157On success 0 is returned, on error -1 and the ``errno`` variable is set
158appropriately. The generic error codes are described at the
159:ref:`Generic Error Codes <gen-errors>` chapter.