doc-rst: customize RTD theme, captions & inline literal
[deliverable/linux.git] / Documentation / linux_tv / media / v4l / vidioc-querystd.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _VIDIOC_QUERYSTD:
4
5 *********************
6 ioctl VIDIOC_QUERYSTD
7 *********************
8
9 NAME
10 ====
11
12 VIDIOC_QUERYSTD - Sense the video standard received by the current input
13
14 SYNOPSIS
15 ========
16
17 .. cpp:function:: int ioctl( int fd, int request, v4l2_std_id *argp )
18
19
20 ARGUMENTS
21 =========
22
23 ``fd``
24 File descriptor returned by :ref:`open() <func-open>`.
25
26 ``request``
27 VIDIOC_QUERYSTD
28
29 ``argp``
30
31
32 DESCRIPTION
33 ===========
34
35 The hardware may be able to detect the current video standard
36 automatically. To do so, applications call :ref:`VIDIOC_QUERYSTD` with a
37 pointer to a :ref:`v4l2_std_id <v4l2-std-id>` type. The driver
38 stores here a set of candidates, this can be a single flag or a set of
39 supported standards if for example the hardware can only distinguish
40 between 50 and 60 Hz systems. If no signal was detected, then the driver
41 will return V4L2_STD_UNKNOWN. When detection is not possible or fails,
42 the set must contain all standards supported by the current video input
43 or output.
44
45 Please note that drivers shall *not* switch the video standard
46 automatically if a new video standard is detected. Instead, drivers
47 should send the ``V4L2_EVENT_SOURCE_CHANGE`` event (if they support
48 this) and expect that userspace will take action by calling
49 :ref:`VIDIOC_QUERYSTD`. The reason is that a new video standard can mean
50 different buffer sizes as well, and you cannot change buffer sizes on
51 the fly. In general, applications that receive the Source Change event
52 will have to call :ref:`VIDIOC_QUERYSTD`, and if the detected video
53 standard is valid they will have to stop streaming, set the new
54 standard, allocate new buffers and start streaming again.
55
56
57 RETURN VALUE
58 ============
59
60 On success 0 is returned, on error -1 and the ``errno`` variable is set
61 appropriately. The generic error codes are described at the
62 :ref:`Generic Error Codes <gen-errors>` chapter.
63
64 ENODATA
65 Standard video timings are not supported for this input or output.
This page took 0.047643 seconds and 5 git commands to generate.