cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

video.rst (2089B)


      1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
      2
      3.. _video:
      4
      5************************
      6Video Inputs and Outputs
      7************************
      8
      9Video inputs and outputs are physical connectors of a device. These can
     10be for example: RF connectors (antenna/cable), CVBS a.k.a. Composite
     11Video, S-Video and RGB connectors. Camera sensors are also considered to
     12be a video input. Video and VBI capture devices have inputs. Video and
     13VBI output devices have outputs, at least one each. Radio devices have
     14no video inputs or outputs.
     15
     16To learn about the number and attributes of the available inputs and
     17outputs applications can enumerate them with the
     18:ref:`VIDIOC_ENUMINPUT` and
     19:ref:`VIDIOC_ENUMOUTPUT` ioctl, respectively. The
     20struct :c:type:`v4l2_input` returned by the
     21:ref:`VIDIOC_ENUMINPUT` ioctl also contains signal
     22status information applicable when the current video input is queried.
     23
     24The :ref:`VIDIOC_G_INPUT <VIDIOC_G_INPUT>` and
     25:ref:`VIDIOC_G_OUTPUT <VIDIOC_G_OUTPUT>` ioctls return the index of
     26the current video input or output. To select a different input or output
     27applications call the :ref:`VIDIOC_S_INPUT <VIDIOC_G_INPUT>` and
     28:ref:`VIDIOC_S_OUTPUT <VIDIOC_G_OUTPUT>` ioctls. Drivers must
     29implement all the input ioctls when the device has one or more inputs,
     30all the output ioctls when the device has one or more outputs.
     31
     32Example: Information about the current video input
     33==================================================
     34
     35.. code-block:: c
     36
     37    struct v4l2_input input;
     38    int index;
     39
     40    if (-1 == ioctl(fd, VIDIOC_G_INPUT, &index)) {
     41	perror("VIDIOC_G_INPUT");
     42	exit(EXIT_FAILURE);
     43    }
     44
     45    memset(&input, 0, sizeof(input));
     46    input.index = index;
     47
     48    if (-1 == ioctl(fd, VIDIOC_ENUMINPUT, &input)) {
     49	perror("VIDIOC_ENUMINPUT");
     50	exit(EXIT_FAILURE);
     51    }
     52
     53    printf("Current input: %s\\n", input.name);
     54
     55
     56Example: Switching to the first video input
     57===========================================
     58
     59.. code-block:: c
     60
     61    int index;
     62
     63    index = 0;
     64
     65    if (-1 == ioctl(fd, VIDIOC_S_INPUT, &index)) {
     66	perror("VIDIOC_S_INPUT");
     67	exit(EXIT_FAILURE);
     68    }