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-querystd.rst (2258B)


      1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
      2.. c:namespace:: V4L
      3
      4.. _VIDIOC_QUERYSTD:
      5
      6*********************************************
      7ioctl VIDIOC_QUERYSTD, VIDIOC_SUBDEV_QUERYSTD
      8*********************************************
      9
     10Name
     11====
     12
     13VIDIOC_QUERYSTD - VIDIOC_SUBDEV_QUERYSTD - Sense the video standard received by the current input
     14
     15Synopsis
     16========
     17
     18.. c:macro:: VIDIOC_QUERYSTD
     19
     20``int ioctl(int fd, VIDIOC_QUERYSTD, v4l2_std_id *argp)``
     21
     22.. c:macro:: VIDIOC_SUBDEV_QUERYSTD
     23
     24``int ioctl(int fd, VIDIOC_SUBDEV_QUERYSTD, v4l2_std_id *argp)``
     25
     26Arguments
     27=========
     28
     29``fd``
     30    File descriptor returned by :c:func:`open()`.
     31
     32``argp``
     33    Pointer to :c:type:`v4l2_std_id`.
     34
     35Description
     36===========
     37
     38The hardware may be able to detect the current video standard
     39automatically. To do so, applications call :ref:`VIDIOC_QUERYSTD` with a
     40pointer to a :ref:`v4l2_std_id <v4l2-std-id>` type. The driver
     41stores here a set of candidates, this can be a single flag or a set of
     42supported standards if for example the hardware can only distinguish
     43between 50 and 60 Hz systems. If no signal was detected, then the driver
     44will return V4L2_STD_UNKNOWN. When detection is not possible or fails,
     45the set must contain all standards supported by the current video input
     46or output.
     47
     48.. note::
     49
     50   Drivers shall *not* switch the video standard
     51   automatically if a new video standard is detected. Instead, drivers
     52   should send the ``V4L2_EVENT_SOURCE_CHANGE`` event (if they support
     53   this) and expect that userspace will take action by calling
     54   :ref:`VIDIOC_QUERYSTD`. The reason is that a new video standard can mean
     55   different buffer sizes as well, and you cannot change buffer sizes on
     56   the fly. In general, applications that receive the Source Change event
     57   will have to call :ref:`VIDIOC_QUERYSTD`, and if the detected video
     58   standard is valid they will have to stop streaming, set the new
     59   standard, allocate new buffers and start streaming again.
     60
     61Return Value
     62============
     63
     64On success 0 is returned, on error -1 and the ``errno`` variable is set
     65appropriately. The generic error codes are described at the
     66:ref:`Generic Error Codes <gen-errors>` chapter.
     67
     68ENODATA
     69    Standard video timings are not supported for this input or output.