linux_dsm_epyc7002/Documentation/linux_tv/media/v4l/vidioc-querystd.rst
Mauro Carvalho Chehab b7e67f6c1b doc-rst: linux_tv: supress lots of warnings
The c language parser checks if there are duplicated object
definitions. That causes lots of warnings like:
	WARNING: duplicate C object description of ioctl

Let's remove those by telling Sphinx that the language for
those objects are c++. The look of the descriptions will
be close, and the warnings will be gone.

Please notice that we had to keep a few of them as C, as
the c++ parser seems to be broken when it finds an enum.

Yet, this reduced from 219 warnings to 143, with is
a good thing.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-03 10:05:16 -03:00

74 lines
2.3 KiB
ReStructuredText

.. -*- coding: utf-8; mode: rst -*-
.. _VIDIOC_QUERYSTD:
*********************
ioctl VIDIOC_QUERYSTD
*********************
*man VIDIOC_QUERYSTD(2)*
Sense the video standard received by the current input
Synopsis
========
.. cpp:function:: int ioctl( int fd, int request, v4l2_std_id *argp )
Arguments
=========
``fd``
File descriptor returned by :ref:`open() <func-open>`.
``request``
VIDIOC_QUERYSTD
``argp``
Description
===========
The hardware may be able to detect the current video standard
automatically. To do so, applications call :ref:`VIDIOC_QUERYSTD` with a
pointer to a :ref:`v4l2_std_id <v4l2-std-id>` type. The driver
stores here a set of candidates, this can be a single flag or a set of
supported standards if for example the hardware can only distinguish
between 50 and 60 Hz systems. If no signal was detected, then the driver
will return V4L2_STD_UNKNOWN. When detection is not possible or fails,
the set must contain all standards supported by the current video input
or output.
Please note that drivers shall *not* switch the video standard
automatically if a new video standard is detected. Instead, drivers
should send the ``V4L2_EVENT_SOURCE_CHANGE`` event (if they support
this) and expect that userspace will take action by calling
:ref:`VIDIOC_QUERYSTD`. The reason is that a new video standard can mean
different buffer sizes as well, and you cannot change buffer sizes on
the fly. In general, applications that receive the Source Change event
will have to call :ref:`VIDIOC_QUERYSTD`, and if the detected video
standard is valid they will have to stop streaming, set the new
standard, allocate new buffers and start streaming again.
Return Value
============
On success 0 is returned, on error -1 and the ``errno`` variable is set
appropriately. The generic error codes are described at the
:ref:`Generic Error Codes <gen-errors>` chapter.
ENODATA
Standard video timings are not supported for this input or output.
.. ------------------------------------------------------------------------------
.. This file was automatically converted from DocBook-XML with the dbxml
.. library (https://github.com/return42/sphkerneldoc). The origin XML comes
.. from the linux kernel, refer to:
..
.. * https://github.com/torvalds/linux/tree/master/Documentation/DocBook
.. ------------------------------------------------------------------------------