Documentation/userspace-api/media/v4l/vidioc-enumstd.rst

Source file repositories/reference/linux-study-clean/Documentation/userspace-api/media/v4l/vidioc-enumstd.rst

File Facts

System
Linux kernel
Corpus path
Documentation/userspace-api/media/v4l/vidioc-enumstd.rst
Extension
.rst
Size
11110 bytes
Lines
352
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
.. c:namespace:: V4L

.. _VIDIOC_ENUMSTD:

*******************************************
ioctl VIDIOC_ENUMSTD, VIDIOC_SUBDEV_ENUMSTD
*******************************************

Name
====

VIDIOC_ENUMSTD - VIDIOC_SUBDEV_ENUMSTD - Enumerate supported video standards

Synopsis
========

.. c:macro:: VIDIOC_ENUMSTD

``int ioctl(int fd, VIDIOC_ENUMSTD, struct v4l2_standard *argp)``

.. c:macro:: VIDIOC_SUBDEV_ENUMSTD

``int ioctl(int fd, VIDIOC_SUBDEV_ENUMSTD, struct v4l2_standard *argp)``

Arguments
=========

``fd``
    File descriptor returned by :c:func:`open()`.

``argp``
    Pointer to struct :c:type:`v4l2_standard`.

Description
===========

To query the attributes of a video standard, especially a custom (driver
defined) one, applications initialize the ``index`` field of struct
:c:type:`v4l2_standard` and call the :ref:`VIDIOC_ENUMSTD`
ioctl with a pointer to this structure. Drivers fill the rest of the
structure or return an ``EINVAL`` error code when the index is out of
bounds. To enumerate all standards applications shall begin at index
zero, incrementing by one until the driver returns ``EINVAL``. Drivers may
enumerate a different set of standards after switching the video input
or output. [#f1]_

.. c:type:: v4l2_standard

.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.5cm}|

.. flat-table:: struct v4l2_standard
    :header-rows:  0
    :stub-columns: 0
    :widths:       1 1 2

    * - __u32
      - ``index``
      - Number of the video standard, set by the application.
    * - :ref:`v4l2_std_id <v4l2-std-id>`
      - ``id``
      - The bits in this field identify the standard as one of the common
	standards listed in :ref:`v4l2-std-id`, or if bits 32 to 63 are
	set as custom standards. Multiple bits can be set if the hardware
	does not distinguish between these standards, however separate
	indices do not indicate the opposite. The ``id`` must be unique.
	No other enumerated struct :c:type:`v4l2_standard` structure,
	for this input or output anyway, can contain the same set of bits.
    * - __u8
      - ``name``\ [24]

Annotation

Implementation Notes