mirror of
https://github.com/torvalds/linux.git
synced 2024-12-25 20:32:22 +00:00
f28bdda2f8
Add generic serial metadata mbus formats. These formats describe data width and packing but not the content itself. The reason for specifying such formats is that the formats as such are fairly device specific but they are still handled by CSI-2 receiver drivers that should not be aware of device specific formats. What makes generic metadata formats possible is that these formats are parsed by software only, after capturing the data to system memory. Also add a definition for "Data Unit" to cover what is essentially a pixel but is not image data. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
218 lines
6.0 KiB
ReStructuredText
218 lines
6.0 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
|
|
|
|
========
|
|
Glossary
|
|
========
|
|
|
|
.. note::
|
|
|
|
The goal of this section is to standardize the terms used within the media
|
|
userspace API documentation. This is Work In Progress.
|
|
|
|
.. Please keep the glossary entries in alphabetical order
|
|
|
|
.. glossary::
|
|
|
|
Bridge Driver
|
|
A :term:`Device Driver` that implements the main logic to talk with
|
|
media hardware.
|
|
|
|
CEC API
|
|
**Consumer Electronics Control API**
|
|
|
|
An API designed to receive and transmit data via an HDMI
|
|
CEC interface.
|
|
|
|
See :ref:`cec`.
|
|
|
|
Data Unit
|
|
|
|
Unit of data transported by a bus. On parallel buses, the data unit
|
|
consists of one or more related samples while on serial buses the data
|
|
unit is logical. If the data unit is image data, it may also be called a
|
|
pixel.
|
|
|
|
Device Driver
|
|
Part of the Linux Kernel that implements support for a hardware
|
|
component.
|
|
|
|
Device Node
|
|
A character device node in the file system used to control and
|
|
transfer data in and out of a Kernel driver.
|
|
|
|
Digital TV API
|
|
**Previously known as DVB API**
|
|
|
|
An API designed to control a subset of the :term:`Media Hardware`
|
|
that implements digital TV (e. g. DVB, ATSC, ISDB, etc).
|
|
|
|
See :ref:`dvbapi`.
|
|
|
|
DSP
|
|
**Digital Signal Processor**
|
|
|
|
A specialized :term:`Microprocessor`, with its architecture
|
|
optimized for the operational needs of digital signal processing.
|
|
|
|
FPGA
|
|
**Field-programmable Gate Array**
|
|
|
|
An :term:`IC` circuit designed to be configured by a customer or
|
|
a designer after manufacturing.
|
|
|
|
See https://en.wikipedia.org/wiki/Field-programmable_gate_array.
|
|
|
|
Hardware Component
|
|
A subset of the :term:`Media Hardware`. For example an :term:`I²C` or
|
|
:term:`SPI` device, or an :term:`IP Block` inside an
|
|
:term:`SoC` or :term:`FPGA`.
|
|
|
|
Hardware Peripheral
|
|
A group of :term:`hardware components <Hardware Component>` that
|
|
together make a larger user-facing functional peripheral. For
|
|
instance, the :term:`SoC` :term:`ISP` :term:`IP Block`
|
|
and the external camera sensors together make a camera hardware
|
|
peripheral.
|
|
|
|
Also known as :term:`Peripheral`.
|
|
|
|
I²C
|
|
**Inter-Integrated Circuit**
|
|
|
|
A multi-master, multi-slave, packet switched, single-ended,
|
|
serial computer bus used to control some hardware components
|
|
like sub-device hardware components.
|
|
|
|
See http://www.nxp.com/docs/en/user-guide/UM10204.pdf.
|
|
|
|
IC
|
|
**Integrated circuit**
|
|
|
|
A set of electronic circuits on one small flat piece of
|
|
semiconductor material, normally silicon.
|
|
|
|
Also known as chip.
|
|
|
|
IP Block
|
|
**Intellectual property core**
|
|
|
|
In electronic design a semiconductor intellectual property core,
|
|
is a reusable unit of logic, cell, or integrated circuit layout
|
|
design that is the intellectual property of one party.
|
|
IP Blocks may be licensed to another party or can be owned
|
|
and used by a single party alone.
|
|
|
|
See https://en.wikipedia.org/wiki/Semiconductor_intellectual_property_core).
|
|
|
|
ISP
|
|
**Image Signal Processor**
|
|
|
|
A specialized processor that implements a set of algorithms for
|
|
processing image data. ISPs may implement algorithms for lens
|
|
shading correction, demosaicing, scaling and pixel format conversion
|
|
as well as produce statistics for the use of the control
|
|
algorithms (e.g. automatic exposure, white balance and focus).
|
|
|
|
Media API
|
|
A set of userspace APIs used to control the media hardware. It is
|
|
composed by:
|
|
|
|
- :term:`CEC API`;
|
|
- :term:`Digital TV API`;
|
|
- :term:`MC API`;
|
|
- :term:`RC API`; and
|
|
- :term:`V4L2 API`.
|
|
|
|
See Documentation/userspace-api/media/index.rst.
|
|
|
|
MC API
|
|
**Media Controller API**
|
|
|
|
An API designed to expose and control the relationships between
|
|
multimedia devices and sub-devices.
|
|
|
|
See :ref:`media_controller`.
|
|
|
|
MC-centric
|
|
:term:`V4L2 Hardware` device driver that requires :term:`MC API`.
|
|
|
|
Such drivers have ``V4L2_CAP_IO_MC`` device_caps field set
|
|
(see :ref:`VIDIOC_QUERYCAP`).
|
|
|
|
See :ref:`v4l2_hardware_control` for more details.
|
|
|
|
Media Hardware
|
|
Subset of the hardware that is supported by the Linux Media API.
|
|
|
|
This includes audio and video capture and playback hardware,
|
|
digital and analog TV, camera sensors, ISPs, remote controllers,
|
|
codecs, HDMI Consumer Electronics Control, HDMI capture, etc.
|
|
|
|
Microprocessor
|
|
Electronic circuitry that carries out the instructions of a
|
|
computer program by performing the basic arithmetic, logical,
|
|
control and input/output (I/O) operations specified by the
|
|
instructions on a single integrated circuit.
|
|
|
|
Peripheral
|
|
The same as :term:`Hardware Peripheral`.
|
|
|
|
RC API
|
|
**Remote Controller API**
|
|
|
|
An API designed to receive and transmit data from remote
|
|
controllers.
|
|
|
|
See :ref:`remote_controllers`.
|
|
|
|
SMBus
|
|
A subset of I²C, which defines a stricter usage of the bus.
|
|
|
|
SPI
|
|
**Serial Peripheral Interface Bus**
|
|
|
|
Synchronous serial communication interface specification used for
|
|
short distance communication, primarily in embedded systems.
|
|
|
|
SoC
|
|
**System on a Chip**
|
|
|
|
An integrated circuit that integrates all components of a computer
|
|
or other electronic systems.
|
|
|
|
Stream
|
|
A distinct flow of data (image data or metadata) from an initial source
|
|
to a final sink. The initial source may be e.g. an image sensor and the
|
|
final sink e.g. a memory buffer.
|
|
|
|
V4L2 API
|
|
**V4L2 userspace API**
|
|
|
|
The userspace API defined in :ref:`v4l2spec`, which is used to
|
|
control a V4L2 hardware.
|
|
|
|
V4L2 Device Node
|
|
A :term:`Device Node` that is associated to a V4L driver.
|
|
|
|
The V4L2 device node naming is specified at :ref:`v4l2_device_naming`.
|
|
|
|
V4L2 Hardware
|
|
Part of the media hardware which is supported by the :term:`V4L2 API`.
|
|
|
|
V4L2 Sub-device
|
|
V4L2 hardware components that aren't controlled by a
|
|
:term:`Bridge Driver`. See :ref:`subdev`.
|
|
|
|
Video-node-centric
|
|
V4L2 device driver that doesn't require a media controller to be used.
|
|
|
|
Such drivers have the ``V4L2_CAP_IO_MC`` device_caps field unset
|
|
(see :ref:`VIDIOC_QUERYCAP`).
|
|
|
|
V4L2 Sub-device API
|
|
Part of the :term:`V4L2 API` which control
|
|
:term:`V4L2 sub-devices <V4L2 Sub-device>`, like sensors,
|
|
HDMI receivers, scalers, deinterlacers.
|
|
|
|
See :ref:`v4l2_hardware_control` for more details.
|