• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.. Permission is granted to copy, distribute and/or modify this
2.. document under the terms of the GNU Free Documentation License,
3.. Version 1.1 or any later version published by the Free Software
4.. Foundation, with no Invariant Sections, no Front-Cover Texts
5.. and no Back-Cover Texts. A copy of the license is included at
6.. Documentation/media/uapi/fdl-appendix.rst.
7..
8.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
9
10.. _VIDIOC_G_STD:
11
12**************************************************************************
13ioctl VIDIOC_G_STD, VIDIOC_S_STD, VIDIOC_SUBDEV_G_STD, VIDIOC_SUBDEV_S_STD
14**************************************************************************
15
16Name
17====
18
19VIDIOC_G_STD - VIDIOC_S_STD - VIDIOC_SUBDEV_G_STD - VIDIOC_SUBDEV_S_STD - Query or select the video standard of the current input
20
21
22Synopsis
23========
24
25.. c:function:: int ioctl( int fd, VIDIOC_G_STD, v4l2_std_id *argp )
26    :name: VIDIOC_G_STD
27
28.. c:function:: int ioctl( int fd, VIDIOC_S_STD, const v4l2_std_id *argp )
29    :name: VIDIOC_S_STD
30
31.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_G_STD, v4l2_std_id *argp )
32    :name: VIDIOC_SUBDEV_G_STD
33
34.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_S_STD, const v4l2_std_id *argp )
35    :name: VIDIOC_SUBDEV_S_STD
36
37
38Arguments
39=========
40
41``fd``
42    File descriptor returned by :ref:`open() <func-open>`.
43
44``argp``
45    Pointer to :c:type:`v4l2_std_id`.
46
47
48Description
49===========
50
51To query and select the current video standard applications use the
52:ref:`VIDIOC_G_STD <VIDIOC_G_STD>` and :ref:`VIDIOC_S_STD <VIDIOC_G_STD>` ioctls which take a pointer to a
53:ref:`v4l2_std_id <v4l2-std-id>` type as argument. :ref:`VIDIOC_G_STD <VIDIOC_G_STD>`
54can return a single flag or a set of flags as in struct
55:c:type:`v4l2_standard` field ``id``. The flags must be
56unambiguous such that they appear in only one enumerated
57struct :c:type:`v4l2_standard` structure.
58
59:ref:`VIDIOC_S_STD <VIDIOC_G_STD>` accepts one or more flags, being a write-only ioctl it
60does not return the actual new standard as :ref:`VIDIOC_G_STD <VIDIOC_G_STD>` does. When
61no flags are given or the current input does not support the requested
62standard the driver returns an ``EINVAL`` error code. When the standard set
63is ambiguous drivers may return ``EINVAL`` or choose any of the requested
64standards. If the current input or output does not support standard
65video timings (e.g. if :ref:`VIDIOC_ENUMINPUT`
66does not set the ``V4L2_IN_CAP_STD`` flag), then ``ENODATA`` error code is
67returned.
68
69
70Return Value
71============
72
73On success 0 is returned, on error -1 and the ``errno`` variable is set
74appropriately. The generic error codes are described at the
75:ref:`Generic Error Codes <gen-errors>` chapter.
76
77EINVAL
78    The :ref:`VIDIOC_S_STD <VIDIOC_G_STD>` parameter was unsuitable.
79
80ENODATA
81    Standard video timings are not supported for this input or output.
82