70 lines · plain
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later2.. c:namespace:: V4L3 4.. _VIDIOC_QUERYSTD:5 6*********************************************7ioctl VIDIOC_QUERYSTD, VIDIOC_SUBDEV_QUERYSTD8*********************************************9 10Name11====12 13VIDIOC_QUERYSTD - VIDIOC_SUBDEV_QUERYSTD - Sense the video standard received by the current input14 15Synopsis16========17 18.. c:macro:: VIDIOC_QUERYSTD19 20``int ioctl(int fd, VIDIOC_QUERYSTD, v4l2_std_id *argp)``21 22.. c:macro:: VIDIOC_SUBDEV_QUERYSTD23 24``int ioctl(int fd, VIDIOC_SUBDEV_QUERYSTD, v4l2_std_id *argp)``25 26Arguments27=========28 29``fd``30 File descriptor returned by :c:func:`open()`.31 32``argp``33 Pointer to :c:type:`v4l2_std_id`.34 35Description36===========37 38The hardware may be able to detect the current video standard39automatically. To do so, applications call :ref:`VIDIOC_QUERYSTD` with a40pointer to a :ref:`v4l2_std_id <v4l2-std-id>` type. The driver41stores here a set of candidates, this can be a single flag or a set of42supported standards if for example the hardware can only distinguish43between 50 and 60 Hz systems. If no signal was detected, then the driver44will return V4L2_STD_UNKNOWN. When detection is not possible or fails,45the set must contain all standards supported by the current video input46or output.47 48.. note::49 50 Drivers shall *not* switch the video standard51 automatically if a new video standard is detected. Instead, drivers52 should send the ``V4L2_EVENT_SOURCE_CHANGE`` event (if they support53 this) and expect that userspace will take action by calling54 :ref:`VIDIOC_QUERYSTD`. The reason is that a new video standard can mean55 different buffer sizes as well, and you cannot change buffer sizes on56 the fly. In general, applications that receive the Source Change event57 will have to call :ref:`VIDIOC_QUERYSTD`, and if the detected video58 standard is valid they will have to stop streaming, set the new59 standard, allocate new buffers and start streaming again.60 61Return Value62============63 64On success 0 is returned, on error -1 and the ``errno`` variable is set65appropriately. The generic error codes are described at the66:ref:`Generic Error Codes <gen-errors>` chapter.67 68ENODATA69 Standard video timings are not supported for this input or output.70