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