File Index
Files and directories
Sign in
FILE

vidioc-dv-timings-cap.rst

File preview with syntax highlighting.

linux-6.19.14/Documentation/userspace-api/media/v4l/vidioc-dv-timings-cap.rst RESTRUCTUREDTEXT
  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.
~/ Read-only file preview.