cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

vidioc-dv-timings-cap.rst (4627B)


      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.