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_G_STD: 4 .. _VIDIOC_G_STD: 5 5 6 ********************************************** 6 ************************************************************************** 7 ioctl VIDIOC_G_STD, VIDIOC_S_STD, VIDIOC_SUBDE 7 ioctl VIDIOC_G_STD, VIDIOC_S_STD, VIDIOC_SUBDEV_G_STD, VIDIOC_SUBDEV_S_STD 8 ********************************************** 8 ************************************************************************** 9 9 10 Name 10 Name 11 ==== 11 ==== 12 12 13 VIDIOC_G_STD - VIDIOC_S_STD - VIDIOC_SUBDEV_G_ 13 VIDIOC_G_STD - VIDIOC_S_STD - VIDIOC_SUBDEV_G_STD - VIDIOC_SUBDEV_S_STD - Query or select the video standard of the current input 14 14 15 Synopsis 15 Synopsis 16 ======== 16 ======== 17 17 18 .. c:macro:: VIDIOC_G_STD 18 .. c:macro:: VIDIOC_G_STD 19 19 20 ``int ioctl(int fd, VIDIOC_G_STD, v4l2_std_id 20 ``int ioctl(int fd, VIDIOC_G_STD, v4l2_std_id *argp)`` 21 21 22 .. c:macro:: VIDIOC_S_STD 22 .. c:macro:: VIDIOC_S_STD 23 23 24 ``int ioctl(int fd, VIDIOC_S_STD, const v4l2_s 24 ``int ioctl(int fd, VIDIOC_S_STD, const v4l2_std_id *argp)`` 25 25 26 .. c:macro:: VIDIOC_SUBDEV_G_STD 26 .. c:macro:: VIDIOC_SUBDEV_G_STD 27 27 28 ``int ioctl(int fd, VIDIOC_SUBDEV_G_STD, v4l2_ 28 ``int ioctl(int fd, VIDIOC_SUBDEV_G_STD, v4l2_std_id *argp)`` 29 29 30 .. c:macro:: VIDIOC_SUBDEV_S_STD 30 .. c:macro:: VIDIOC_SUBDEV_S_STD 31 31 32 ``int ioctl(int fd, VIDIOC_SUBDEV_S_STD, const 32 ``int ioctl(int fd, VIDIOC_SUBDEV_S_STD, const v4l2_std_id *argp)`` 33 33 34 Arguments 34 Arguments 35 ========= 35 ========= 36 36 37 ``fd`` 37 ``fd`` 38 File descriptor returned by :c:func:`open( 38 File descriptor returned by :c:func:`open()`. 39 39 40 ``argp`` 40 ``argp`` 41 Pointer to :c:type:`v4l2_std_id`. 41 Pointer to :c:type:`v4l2_std_id`. 42 42 43 Description 43 Description 44 =========== 44 =========== 45 45 46 To query and select the current video standard 46 To query and select the current video standard applications use the 47 :ref:`VIDIOC_G_STD <VIDIOC_G_STD>` and :ref:`V 47 :ref:`VIDIOC_G_STD <VIDIOC_G_STD>` and :ref:`VIDIOC_S_STD <VIDIOC_G_STD>` ioctls which take a pointer to a 48 :ref:`v4l2_std_id <v4l2-std-id>` type as argum 48 :ref:`v4l2_std_id <v4l2-std-id>` type as argument. :ref:`VIDIOC_G_STD <VIDIOC_G_STD>` 49 can return a single flag or a set of flags as 49 can return a single flag or a set of flags as in struct 50 :c:type:`v4l2_standard` field ``id``. The flag 50 :c:type:`v4l2_standard` field ``id``. The flags must be 51 unambiguous such that they appear in only one 51 unambiguous such that they appear in only one enumerated 52 struct :c:type:`v4l2_standard` structure. 52 struct :c:type:`v4l2_standard` structure. 53 53 54 :ref:`VIDIOC_S_STD <VIDIOC_G_STD>` accepts one 54 :ref:`VIDIOC_S_STD <VIDIOC_G_STD>` accepts one or more flags, being a write-only ioctl it 55 does not return the actual new standard as :re 55 does not return the actual new standard as :ref:`VIDIOC_G_STD <VIDIOC_G_STD>` does. When 56 no flags are given or the current input does n 56 no flags are given or the current input does not support the requested 57 standard the driver returns an ``EINVAL`` erro 57 standard the driver returns an ``EINVAL`` error code. When the standard set 58 is ambiguous drivers may return ``EINVAL`` or 58 is ambiguous drivers may return ``EINVAL`` or choose any of the requested 59 standards. If the current input or output does 59 standards. If the current input or output does not support standard 60 video timings (e.g. if :ref:`VIDIOC_ENUMINPUT` 60 video timings (e.g. if :ref:`VIDIOC_ENUMINPUT` 61 does not set the ``V4L2_IN_CAP_STD`` flag), th 61 does not set the ``V4L2_IN_CAP_STD`` flag), then ``ENODATA`` error code is 62 returned. 62 returned. 63 63 64 Calling ``VIDIOC_SUBDEV_S_STD`` on a subdev de 64 Calling ``VIDIOC_SUBDEV_S_STD`` on a subdev device node that has been registered 65 in read-only mode is not allowed. An error is 65 in read-only mode is not allowed. An error is returned and the errno variable is 66 set to ``-EPERM``. 66 set to ``-EPERM``. 67 67 68 Return Value 68 Return Value 69 ============ 69 ============ 70 70 71 On success 0 is returned, on error -1 and the 71 On success 0 is returned, on error -1 and the ``errno`` variable is set 72 appropriately. The generic error codes are des 72 appropriately. The generic error codes are described at the 73 :ref:`Generic Error Codes <gen-errors>` chapte 73 :ref:`Generic Error Codes <gen-errors>` chapter. 74 74 75 EINVAL 75 EINVAL 76 The :ref:`VIDIOC_S_STD <VIDIOC_G_STD>` par 76 The :ref:`VIDIOC_S_STD <VIDIOC_G_STD>` parameter was unsuitable. 77 77 78 ENODATA 78 ENODATA 79 Standard video timings are not supported f 79 Standard video timings are not supported for this input or output. 80 80 81 EPERM 81 EPERM 82 ``VIDIOC_SUBDEV_S_STD`` has been called on 82 ``VIDIOC_SUBDEV_S_STD`` has been called on a read-only subdevice.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.