ioctl VIDIOC_G_STD, VIDIOC_S_STD

&manvol;

VIDIOC_G_STD

VIDIOC_S_STD

Query or select the video standard of the current input

    	int ioctl
    	int fd
    	int request
    	v4l2_std_id
    *argp

    	int ioctl
    	int fd
    	int request
    	const v4l2_std_id
    *argp

## Arguments

`fd`

- &fd;

`request`

- VIDIOC_G_STD, VIDIOC_S_STD

`argp`

## Description

To query and select the current video standard applications use the `VIDIOC_G_STD` and `VIDIOC_S_STD` ioctls which take a pointer to a &v4l2-std-id; type as argument. `VIDIOC_G_STD` can return a single flag or a set of flags as in &v4l2-standard; field id. The flags must be unambiguous such that they appear in only one enumerated v4l2_standard structure.

`VIDIOC_S_STD` accepts one or more flags, being a write-only ioctl it does not return the actual new standard as `VIDIOC_G_STD` does. When no flags are given or the current input does not support the requested standard the driver returns an &EINVAL;. When the standard set is ambiguous drivers may return EINVAL or choose any of the requested standards.

&return-value;

EINVAL

- This ioctl is not supported, or the `VIDIOC_S_STD` parameter was unsuitable.

EBUSY

- The device is busy and therefore can not change the standard