- Types and flags used to represent the media graph elements
- 用于表示媒体图元素的类型和标志
Media entity functions
媒体实体功能
MEDIA_ENT_F_UNKNOWN and MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN
Unknown entity. That generally indicates that a driver didn’t initialize properly the entity, which is a Kernel bug
未知实体。通常表示驱动程序未正确初始化实体,这是内核错误。
MEDIA_ENT_F_IO_V4L
Data streaming input and/or output entity.
数据流输入和/或输出实体
MEDIA_ENT_F_IO_VBI
V4L VBI streaming input or output entity
V4L VBI 流输入或输出实体
MEDIA_ENT_F_IO_SWRADIO
V4L Software Digital Radio (SDR) streaming input or output entity
V4L 软件数字无线电 (SDR) 流输入或输出实体
MEDIA_ENT_F_IO_DTV
DVB Digital TV streaming input or output entity
DVB 数字电视流输入或输出实体。
MEDIA_ENT_F_DTV_DEMOD
Digital TV demodulator entity.
数字电视解调器实体。
MEDIA_ENT_F_TS_DEMUX
MPEG Transport stream demux entity. Could be implemented on hardware or in Kernelspace by the Linux DVB subsystem.
MPEG 传输流解复用实体。可以在硬件或 Linux DVB 子系统的内核空间中实现。
MEDIA_ENT_F_DTV_CA
Digital TV Conditional Access module (CAM) entity
数字电视条件接收模块 (CAM) 实体。
MEDIA_ENT_F_DTV_NET_DECAP
Digital TV network ULE/MLE desencapsulation entity. Could be implemented on hardware or in Kernelspace
数字电视网络 ULE/MLE 解封装实体。可以在硬件或内核空间中实现。
MEDIA_ENT_F_CONN_RF
Connector for a Radio Frequency (RF) signal.
射频 (RF) 信号连接器
MEDIA_ENT_F_CONN_SVIDEO
Connector for a S-Video signal.
S-Video 信号连接器。
MEDIA_ENT_F_CONN_COMPOSITE
Connector for a RGB composite signal.
RGB 复合信号连接器
MEDIA_ENT_F_CAM_SENSOR
Camera video sensor entity.
摄像头视频传感器实体。
MEDIA_ENT_F_FLASH
Flash controller entity.
闪光灯控制器实体。
MEDIA_ENT_F_LENS
Lens controller entity.
镜头控制器实体。
MEDIA_ENT_F_ATV_DECODER
Analog video decoder, the basic function of the video decoder is to accept analogue video from a wide variety of sources such as broadcast, DVD players, cameras and video cassette recorders, in either NTSC, PAL, SECAM or HD format, separating the stream into its component parts, luminance and chrominance, and output it in some digital video standard, with appropriate timing signals.
模拟视频解码器,视频解码器的基本功能是接受来自各种来源的模拟视频,如广播、DVD 播放器、摄像机和录像机,格式为 NTSC、PAL、SECAM 或 HD,将流分离为其组成部分,亮度和色度,并以某种数字视频标准输出,带有适当的定时信号。
MEDIA_ENT_F_TUNER
Digital TV, analog TV, radio and/or software radio tuner, with consists on a PLL tuning stage that converts radio frequency (RF) signal into an Intermediate Frequency (IF). Modern tuners have internally IF-PLL decoders for audio and video, but older models have those stages implemented on separate entities.
数字电视、模拟电视、无线电和/或软件无线电调谐器,由 PLL 调谐级组成,将射频 (RF) 信号转换为中频 (IF)。现代调谐器内部有 IF-PLL 音频和视频解码器,但旧型号的这些级在单独的实体中实现。
MEDIA_ENT_F_IF_VID_DECODER
IF-PLL video decoder. It receives the IF from a PLL and decodes the analog TV video signal. This is commonly found on some very old analog tuners, like Philips MK3 designs. They all contain a tda9887 (or some software compatible similar chip, like tda9885). Those devices use a different I2C address than the tuner PLL.
IF-PLL 视频解码器。它从 PLL 接收 IF 并解码模拟电视视频信号。这通常出现在一些非常旧的模拟调谐器上,如飞利浦 MK3 设计。它们都包含一个 tda9887(或一些软件兼容的类似芯片,如 tda9885)。这些设备使用与调谐器 PLL 不同的 I2C 地址。
MEDIA_ENT_F_IF_AUD_DECODER
IF-PLL sound decoder. It receives the IF from a PLL and decodes the analog TV audio signal. This is commonly found on some very old analog hardware, like Micronas msp3400, Philips tda9840, tda985x, etc. Those devices use a different I2C address than the tuner PLL and should be controlled together with the IF-PLL video decoder.
IF-PLL 音频解码器。它从 PLL 接收 IF 并解码模拟电视音频信号。这通常出现在一些非常旧的模拟硬件上,如 Micronas msp3400、飞利浦 tda9840、tda985x 等。这些设备使用与调谐器 PLL 不同的 I2C 地址,应与 IF-PLL 视频解码器一起控制。
MEDIA_ENT_F_AUDIO_CAPTURE
Audio Capture Function Entity.
音频捕获功能实体。
MEDIA_ENT_F_AUDIO_PLAYBACK
Audio Playback Function Entity.
音频播放功能实体。
MEDIA_ENT_F_AUDIO_MIXER
Audio Mixer Function Entity.
音频混音器功能实体。
MEDIA_ENT_F_PROC_VIDEO_COMPOSER
Video composer (blender). An entity capable of video composing must have at least two sink pads and one source pad, and composes input video frames onto output video frames. Composition can be performed using alpha blending, color keying, raster operations (ROP), stitching or any other means.
视频合成器(混合器)。能够进行视频合成的实体必须至少有两个接收端和一个输出端,并将输入视频帧合成到输出视频帧上。合成可以使用 alpha 混合、颜色键控、光栅操作 (ROP)、拼接或任何其他手段进行
MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER
Video pixel formatter. An entity capable of pixel formatting must have at least one sink pad and one source pad. Read pixel formatters read pixels from memory and perform a subset of unpacking, cropping, color keying, alpha multiplication and pixel encoding conversion. Write pixel formatters perform a subset of dithering, pixel encoding conversion and packing and write pixels to memory.
视频像素格式化器。能够进行像素格式化的实体必须至少有一个接收端和一个输出端。读取像素格式化器从内存中读取像素并执行解包、裁剪、颜色键控、alpha 乘法和像素编码转换的子集。写入像素格式化器执行抖动、像素编码转换和打包的子集,并将像素写入内存。
MEDIA_ENT_F_PROC_VIDEO_PIXEL_ENC_CONV
Video pixel encoding converter. An entity capable of pixel encoding conversion must have at least one sink pad and one source pad, and convert the encoding of pixels received on its sink pad(s) to a different encoding output on its source pad(s). Pixel encoding conversion includes but isn’t limited to RGB to/from HSV, RGB to/from YUV and CFA (Bayer) to RGB conversions.
视频像素编码转换器。能够进行像素编码转换的实体必须至少有一个接收端和一个输出端,并将其接收端上的像素编码转换为输出端上的不同编码输出。像素编码转换包括但不限于 RGB 到/从 HSV、RGB 到/从 YUV 和 CFA(拜耳)到 RGB 的转换。
MEDIA_ENT_F_PROC_VIDEO_LUT
Video look-up table. An entity capable of video lookup table processing must have one sink pad and one source pad. It uses the values of the pixels received on its sink pad to look up entries in internal tables and output them on its source pad. The lookup processing can be performed on all components separately or combine them for multi-dimensional table lookups.
视频查找表。能够进行视频查找表处理的实体必须有一个接收端和一个输出端。它使用接收端上的像素值在内部表中查找条目,并在输出端上输出它们。查找处理可以分别对所有组件进行,也可以将它们组合起来进行多维表查找。
MEDIA_ENT_F_PROC_VIDEO_SCALER
Video scaler. An entity capable of video scaling must have at least one sink pad and one source pad, and scale the video frame(s) received on its sink pad(s) to a different resolution output on its source pad(s). The range of supported scaling ratios is entity-specific and can differ between the horizontal and vertical directions (in particular scaling can be supported in one direction only). Binning and sub-sampling (occasionally also referred to as skipping) are considered as scaling.
视频缩放器。能够进行视频缩放的实体必须至少有一个接收端和一个输出端,并将其接收端上的视频帧缩放到输出端上的不同分辨率输出。支持的缩放比例范围是实体特定的,并且可以在水平和垂直方向上不同(特别是缩放可能仅在一个方向上支持)。分箱和子采样(有时也称为跳过)被视为缩放。
MEDIA_ENT_F_PROC_VIDEO_STATISTICS
Video statistics computation (histogram, 3A, etc.). An entity capable of statistics computation must have one sink pad and one source pad. It computes statistics over the frames received on its sink pad and outputs the statistics data on its source pad.
视频统计计算(直方图、3A等)。能够进行统计计算的实体必须有一个接收端和一个输出端。它在接收端接收的帧上进行统计计算,并在输出端输出统计数据。
MEDIA_ENT_F_PROC_VIDEO_ENCODER
Video (MPEG, HEVC, VPx, etc.) encoder. An entity capable of compressing video frames. Must have one sink pad and at least one source pad.
视频(MPEG、HEVC、VPx等)编码器。能够压缩视频帧的实体。必须有一个接收端和至少一个输出端。
MEDIA_ENT_F_PROC_VIDEO_DECODER
Video (MPEG, HEVC, VPx, etc.) decoder. An entity capable of decompressing a compressed video stream into uncompressed video frames. Must have one sink pad and at least one source pad.
视频(MPEG、HEVC、VPx等)解码器。能够将压缩视频流解压缩为未压缩视频帧的实体。必须有一个接收端和至少一个输出端。
MEDIA_ENT_F_PROC_VIDEO_ISP
An Image Signal Processor (ISP) device. ISPs generally are one of a kind devices that have their specific control interfaces using a combination of custom V4L2 controls and IOCTLs, and parameters supplied in a metadata buffer.
图像信号处理器(ISP)设备。ISP通常是一种独特的设备,具有特定的控制接口,使用自定义的V4L2控制和IOCTL组合,并在元数据缓冲区中提供参数。
MEDIA_ENT_F_VID_MUX
Video multiplexer. An entity capable of multiplexing must have at least two sink pads and one source pad, and must pass the video frame(s) received from the active sink pad to the source pad.
视频多路复用器。能够进行多路复用的实体必须至少有两个接收端和一个输出端,并且必须将从活动接收端接收的视频帧传递到输出端。
MEDIA_ENT_F_VID_IF_BRIDGE
Video interface bridge. A video interface bridge entity must have at least one sink pad and at least one source pad. It receives video frames on its sink pad from an input video bus of one type (HDMI, eDP, MIPI CSI-2, etc.), and outputs them on its source pad to an output video bus of another type (eDP, MIPI CSI-2, parallel, etc.).
视频接口桥。视频接口桥实体必须至少有一个接收端和一个输出端。它在接收端从一种类型的输入视频总线(HDMI、eDP、MIPI CSI-2等)接收视频帧,并在输出端将其输出到另一种类型的输出视频总线(eDP、MIPI CSI-2、并行等)。
MEDIA_ENT_F_DV_DECODER
Digital video decoder. The basic function of the video decoder is to accept digital video from a wide variety of sources and output it in some digital video standard, with appropriate timing signals.
数字视频解码器。视频解码器的基本功能是接受来自各种来源的数字视频,并以某种数字视频标准输出,带有适当的定时信号。
MEDIA_ENT_F_DV_ENCODER
Digital video encoder. The basic function of the video encoder is to accept digital video from some digital video standard with appropriate timing signals (usually a parallel video bus with sync signals) and output this to a digital video output connector such as HDMI or DisplayPort.
数字视频编码器。视频编码器的基本功能是接受来自某种数字视频标准的数字视频,带有适当的定时信号(通常是带有同步信号的并行视频总线),并将其输出到数字视频输出连接器,如HDMI或DisplayPort。
Media entity flags
媒体实体标志
MEDIA_ENT_FL_DEFAULT
Default entity for its type. Used to discover the default audio, VBI and video devices, the default camera sensor, etc.
其类型的默认实体。用于发现默认的音频、VBI 和视频设备,默认的摄像头传感器等。
MEDIA_ENT_FL_CONNECTOR
The entity represents a connector.
该实体代表一个连接器。
Media interface types
MEDIA_INTF_T_DVB_FE
Device node interface for the Digital TV frontend
typically, /dev/dvb/adapter?/frontend?
数字电视前端设备节点接口
通常为 /dev/dvb/adapter?/frontend?
MEDIA_INTF_T_DVB_DEMUX
Device node interface for the Digital TV demux
typically, /dev/dvb/adapter?/demux?
数字电视解复用器设备节点接口
通常为 /dev/dvb/adapter?/demux?
MEDIA_INTF_T_DVB_DVR
Device node interface for the Digital TV DVR
typically, /dev/dvb/adapter?/dvr?
数字电视DVR设备节点接口
通常为 /dev/dvb/adapter?/dvr?
MEDIA_INTF_T_DVB_CA
Device node interface for the Digital TV Conditional Access
typically, /dev/dvb/adapter?/ca?
数字电视条件接收设备节点接口
通常为 /dev/dvb/adapter?/ca?
MEDIA_INTF_T_DVB_NET
Device node interface for the Digital TV network control
typically, /dev/dvb/adapter?/net?
数字电视网络控制设备节点接口
通常为 /dev/dvb/adapter?/net?
MEDIA_INTF_T_V4L_VIDEO
Device node interface for video (V4L)
typically, /dev/video?
视频设备节点接口 (V4L)
通常为 /dev/video?
MEDIA_INTF_T_V4L_VBI
Device node interface for VBI (V4L)
typically, /dev/vbi?
MEDIA_INTF_T_V4L_RADIO
Device node interface for radio (V4L)
typically, /dev/radio?
无线电设备节点接口 (V4L)
通常为 /dev/radio?
MEDIA_INTF_T_V4L_SUBDEV
Device node interface for a V4L subdevice
typically, /dev/v4l-subdev?
V4L子设备设备节点接口
通常为 /dev/v4l-subdev?
MEDIA_INTF_T_V4L_SWRADIO
Device node interface for Software Defined Radio (V4L)
typically, /dev/swradio?
软件定义无线电设备节点接口 (V4L)
通常为 /dev/swradio?
MEDIA_INTF_T_V4L_TOUCH
Device node interface for Touch device (V4L)
typically, /dev/v4l-touch?
触摸设备设备节点接口 (V4L)
通常为 /dev/v4l-touch?
MEDIA_INTF_T_ALSA_PCM_CAPTURE
Device node interface for ALSA PCM Capture
typically, /dev/snd/pcmC?D?c
ALSA PCM捕获设备节点接口
通常为 /dev/snd/pcmC?D?c
MEDIA_INTF_T_ALSA_PCM_PLAYBACK
Device node interface for ALSA PCM Playback
typically, /dev/snd/pcmC?D?p
ALSA PCM播放设备节点接口
通常为 /dev/snd/pcmC?D?p
MEDIA_INTF_T_ALSA_CONTROL
Device node interface for ALSA Control
typically, /dev/snd/controlC?
ALSA控制设备节点接口
通常为 /dev/snd/controlC?
MEDIA_INTF_T_ALSA_COMPRESS
Device node interface for ALSA Compress
typically, /dev/snd/compr?
ALSA压缩设备节点接口
通常为 /dev/snd/compr?
MEDIA_INTF_T_ALSA_RAWMIDI
Device node interface for ALSA Raw MIDI
typically, /dev/snd/midi?
ALSA原始MIDI设备节点接口
通常为 /dev/snd/midi?
MEDIA_INTF_T_ALSA_HWDEP
Device node interface for ALSA Hardware Dependent
typically, /dev/snd/hwC?D?
ALSA硬件依赖设备节点接口
通常为 /dev/snd/hwC?D?
MEDIA_INTF_T_ALSA_SEQUENCER
Device node interface for ALSA Sequencer
typically, /dev/snd/seq
ALSA音序器设备节点接口
通常为 /dev/snd/seq
MEDIA_INTF_T_ALSA_TIMER
Device node interface for ALSA Timer
typically, /dev/snd/timer
ALSA定时器设备节点接口
通常为 /dev/snd/timer
Media pad flags
媒体焊盘标志
MEDIA_PAD_FL_SINK
Input pad, relative to the entity. Input pads sink data and are targets of links.
相对于实体的输入焊盘。输入焊盘接收数据并且是链接的目标。
MEDIA_PAD_FL_SOURCE
Output pad, relative to the entity. Output pads source data and are origins of links.
相对于实体的输出焊盘。输出焊盘提供数据并且是链接的起源。
MEDIA_PAD_FL_MUST_CONNECT
If this flag is set, then for this pad to be able to stream, it must be connected by at least one enabled link. There could be temporary reasons (e.g. device configuration dependent) for the pad to need enabled links even when this flag isn’t set; the absence of the flag doesn’t imply there is none.
如果设置了此标志,则此焊盘必须通过至少一个启用的链接连接才能进行流传输。即使未设置此标志,焊盘也可能由于临时原因(例如设备配置依赖)需要启用的链接;未设置此标志并不意味着没有。
One and only one of MEDIA_PAD_FL_SINK and MEDIA_PAD_FL_SOURCE must be set for every pad.
每个焊盘必须且只能设置 MEDIA_PAD_FL_SINK 和 MEDIA_PAD_FL_SOURCE 中的一个。
Media link flags
媒体链接标志
MEDIA_LNK_FL_ENABLED
The link is enabled and can be used to transfer media data. When two or more links target a sink pad, only one of them can be enabled at a time.
链接已启用,可以用于传输媒体数据。当两个或更多链接指向一个接收焊盘时,一次只能启用其中一个。
MEDIA_LNK_FL_IMMUTABLE
The link enabled state can’t be modified at runtime. An immutable link is always enabled.
链接的启用状态在运行时无法修改。不可变链接始终处于启用状态。
MEDIA_LNK_FL_DYNAMIC
The link enabled state can be modified during streaming. This flag is set by drivers and is read-only for applications.
链接的启用状态可以在流传输期间修改。此标志由驱动程序设置,对应用程序是只读的
MEDIA_LNK_FL_LINK_TYPE
This is a bitmask that defines the type of the link. The following link types are currently supported:
这是一个位掩码,定义了链接的类型。目前支持以下链接类型:
MEDIA_LNK_FL_DATA_LINK for links that represent a data connection between two pads.
用于表示两个焊盘之间的数据连接的链接。
MEDIA_LNK_FL_INTERFACE_LINK for links that associate an entity to its interface.
用于将实体与其接口关联的链接。
MEDIA_LNK_FL_ANCILLARY_LINK for links that represent a physical relationship between two entities. The link may or may not be immutable, so applications must not assume either case.
用于表示两个实体之间的物理关系的链接。链接可能是不可变的,也可能不是,因此应用程序不能假设任何一种情况。