HTML header:
Magewell Pro Capture 系列采集卡
软件开发指南 for Linux
版权所有 2011–2016 南京美乐威电子科技有限公司 保留所有权利。
最后更新时间 2016–02–17
1 开发简介
本文主要介绍如何在 Linux 平台下开发基于 Pro Capture 系列采集卡的应用软件。
1.1 编程接口
一般来说,开发人员主要使用以下两种编程接口进行开发:
- V4L2 和 ALSA 标准编程接口
- 使用标准接口实现音视频数据的采集;
- 支持标准采集控制,包括采集大小、色彩空间等各项采集参数设置;
- I/O Control 编程接口
- 基于 V4L2 驱动的 I/O Control 扩展功能实现;
- 能够实现更加灵活、更加丰富的采集特性支持;
以上两种方法可以独立使用,也可以组合使用,开发人员可以根据实际需要进行选择。
1.2 I/O Control 功能特性
基于 I/O Control 编程接口开发应用软件,可以实现以下功能特性:
把图像数据分行传输,信号延时仅为输入 64 行图像信号所需的时间。
对于同一个采集设备能够创建多个采集实例,每个实例拥有不同的采集大小和色彩空间,每个采集设备保留 400MB–700MB 的独享传输带宽,用户在使用上能够更加灵活。
支持 AYUV、V408、Y410、V410、RGB10、BGR10 等色彩格式的图像采集。
精度为 100 纳秒的板载时钟为采集到的所有音视频帧提供的时间信息,并且支持网络上多个采集设备之间的时钟同步处理。
支持 RGBA 格式的文本或图片通过硬件实时合成到采集画面上,并且可以实现多个采集画面合成叠加,形成画中画(PIP)或者分屏(PAP)效果。
支持获取 HDMI 原始 InfoFrame 数据包,包括 AVI、Audio、SPD、MS、VS、ACP 等等,可以从中获取时间码等的各类扩展信息。
支持 IEC60958/IEC61937 格式的音频数据采集,包括 5.1 声道、7.1 声道、DTS、THX、SRS 等原始音频格式和 AAC、MP3 等各种压缩音频格式。
支持版载固件通过 API 调用方式进行升级,便于用户进行深度集成,以及实现远程升级等功能。
2 示例介绍
本节主要介绍开发包内提供的各项示例代码
2.1 I/O Control 示例
- 库文件位于 lib 目录下
- 示例位于 src 目录下;
- 在 sdk 根目录下直接运行 make ,就可以编译所有示例,生成的可执行文件在 bin 目录下;
- 包含多种示例程序,涵盖 I/O Control 开发的各种方面;
- mwcap-upgrade : 读取 MWF 固件升级文件,并将其写入对应的采集设备,以完成固件升级操作;
- mwcap-info : 读取Pro Capture 系列采集卡各种属性信息,包括输入源信息、设备硬件属性信息、HDMI信息帧信息;
- mwcap-video-capture : 获取采集设备信息,并采集的视频数据保存为 BMP 文件;
- mwcap-audio-capture : 获取采集设备信息,并采集的音频数据保存为 WAV 文件;
- mwcap-video-set : 获取采集设备视频通道的输入端口信息,并对端口进行选择设置;
- mwcap-audio-set : 获取采集设备音频通道的输入端口信息,并对端口进行选择设置;
- mwcap-lowlatency : 对于输入逐行视频信号,使用低延时模式进行视频分块采集;
3 I/O Control 开发接口
本节主要介绍 I/O Control 编程接口。其主要开发按以下步骤进行:
3.1 开发步骤
I/O Control 开发主要按以下步骤进行:
3.2 I/O Control 控制指令
I/O Control 控制指令定义在 inc 目录的 mw-linux.h 中,它包含以下几类指令:
3.2.1 设备流信息获取指令
Pro Capture 系列采集设备在驱动程序安装后,会在 /dev 目录下生成若干个 video* 设备(* 为从0开始的数字)。
每个 video* 设备对应一个采集通道,每个采集通道可以同时被打开多次,设备流定义为对某个采集通道的一次打开操作。
以下控制指令用于获取当前设备的设备流信息。
名称 |
注释 |
MWCAP_IOCTL_GET_STREAMS_COUNT |
获取当前设备的设备流数目 |
MWCAP_IOCTL_GET_STREAMS_INFO |
获取当前设备的设备流详细信息,参见 3.3.2 MWCAP_STREAMS_INFO |
MWCAP_IOCTL_GET_CTRL_STREAM_ID |
获取当前控制的设备流 ID |
MWCAP_IOCTL_SET_CTRL_STREAM_ID |
设置当前控制的设备流 ID |
MWCAP_IOCTL_GET_SELF_STREAM_ID |
获取当前设备的设备流 ID |
3.2.2 设备信息获取指令;
名称 |
注释 |
MWCAP_IOCTL_GET_CHANNEL_INFO |
获取当前采集通道的信息,参见 3.3.3 MWCAP_CHANNEL_INFO |
MWCAP_IOCTL_GET_FAMILY_INFO |
获取当前采集通道的设备类型信息,参见 3.3.4 MWCAP_PRO_CAPTURE_INFO |
MWCAP_IOCTL_GET_VIDEO_CAPS |
获取当前视频通道的支持特性, 参见 3.3.5 MWCAP_VIDEO_CAPS |
MWCAP_IOCTL_GET_AUDIO_CAPS |
获取当前音频通道的支持特性,参见 3.3.6 MWCAP_AUDIO_CAPS |
3.2.3 固件升级指令;
名称 |
注释 |
MWCAP_IOCTL_GET_FIRMWARE_STORAGE |
获取当前通道的固件存储信息, 参见 3.3.7 MWCAP_FIRMWARE_STORAGE |
MWCAP_IOCTL_SET_FIRMWARE_ERASE |
插除当前通道的固件存储区域, 参见 3.3.8 MWCAP_FIRMWARE_ERASE |
MWCAP_IOCTL_SET_FIRMWARE_DATA |
向当前通道的固件存储区域写入数据,参见 3.3.9 MWCAP_FIRMWARE_DATA |
MWCAP_IOCTL_GET_FIRMWARE_DATA |
从当前通道的固件存储区域读取数据, 参见3.3.9 MWCAP_FIRMWARE_DATA |
3.2.4 硬件时钟指令;
名称 |
注释 |
MWCAP_IOCTL_GET_TIME |
获取当前通道的硬件时钟 |
MWCAP_IOCTL_SET_TIME |
设置当前通道的硬件时钟 |
MWCAP_IOCTL_TIME_REGULATION |
校准当前通道的硬件时钟 |
MWCAP_IOCTL_TIMER_REGISTRATION |
注册时钟调度对象 |
MWCAP_IOCTL_TIMER_DEREGISTRATION |
注消时钟调度对象 |
MWCAP_IOCTL_TIMER_EXPIRE_TIME |
设置时钟调度对象失效时间,参见 3.3.10 MWCAP_TIMER_EXPIRE_TIME |
MWCAP_IOCTL_TIMER_WAIT |
等待时钟调度对象失效,参见 3.3.11 MWCAP_TIMER_WAIT |
MWCAP_IOCTL_TIMER_CANCEL |
取消最后一次等待时钟调度对象失效 |
3.2.5 异步通知指令;
名称 |
注释 |
MWCAP_IOCTL_NOTIFY_REGISTRATION |
注册异步事件通知对象,参见 3.3.12 MWCAP_NOTIFY_REGISTRATION_S |
MWCAP_IOCTL_NOTIFY_DEREGISTRATION |
注销异步事件通知对象 |
MWCAP_IOCTL_NOTIFY_STATUS |
获取事件通知的状态,参见 3.3.13 MWCAP_NOTIFY_STATUS |
MWCAP_IOCTL_NOTIFY_WAIT |
等待异步通知事件返回,参见3.3.14 MWCAP_NOTIFY_WAIT |
MWCAP_IOCTL_NOTIFY_CANCEL |
取消最后一次等待异步通知事件返回 |
MWCAP_IOCTL_NOTIFY_ENABLE |
使异步事件类型值生效,参见 3.3.15 MWCAP_NOTIFY_ENABLE |
3.2.6 音视频采集指令;
名称 |
注释 |
MWCAP_IOCTL_GET_VIDEO_BUFFER_INFO |
获取视频缓冲信息,参见 3.3.16 MWCAP_VIDEO_BUFFER_INFO |
MWCAP_IOCTL_GET_VIDEO_FRAME_INFO |
获取视频帧信息, 参见 3.3.17 MWCAP_VIDEO_FRAME_INFO |
MWCAP_IOCTL_VIDEO_CAPTURE_OPEN |
启动通道的视频采集 |
MWCAP_IOCTL_VIDEO_CAPTURE_FRAME |
采集一帧视频数据, 参见 3.3.18 MWCAP_VIDEO_CAPTURE_FRAME |
MWCAP_IOCTL_VIDEO_CAPTURE_STATUS |
获取视频采集状态, 参见 3.3.19 MWCAP_VIDEO_CAPTURE_STATUS |
MWCAP_IOCTL_VIDEO_CAPTURE_CLOSE |
关闭通道的视频采集 |
MWCAP_IOCTL_AUDIO_CAPTURE_OPEN |
启动通道的音频采集 |
MWCAP_IOCTL_AUDIO_CAPTURE_FRAME |
采集一帧音频数据,参见 3.3.20 MWCAP_AUDIO_CAPTURE_FRAME |
MWCAP_IOCTL_AUDIO_CAPTURE_CLOSE |
关闭通道的音频采集 |
3.2.7 采集通道输入指令;
名称 |
注释 |
MWCAP_IOCTL_VIDEO_INPUT_SOURCE_COUNT |
获取视频通道的输入接口数目 |
MWCAP_IOCTL_VIDEO_INPUT_SOURCE_ARRAY |
获取视频通道的输入接口,参见 3.3.21 MWCAP_INPUT_SOURCE_ARRAY |
MWCAP_IOCTL_AUDIO_INPUT_SOURCE_COUNT |
获取音频通道的输入接口数目 |
MWCAP_IOCTL_AUDIO_INPUT_SOURCE_ARRAY |
获取音频通道的输入接口,参见 3.3.21 MWCAP_INPUT_SOURCE_ARRAY |
MWCAP_IOCTL_SET_INPUT_SOURCE_SCAN |
设置视频输入是否自动扫描 |
MWCAP_IOCTL_GET_INPUT_SOURCE_SCAN |
获取视频输入是否自动扫描 |
MWCAP_IOCTL_GET_INPUT_SOURCE_SCAN_STATE |
获取采集通道的输入接口扫描状态 |
MWCAP_IOCTL_SET_AV_INPUT_SOURCE_LINK |
设置音频是否自动连接到视频输入 |
MWCAP_IOCTL_GET_AV_INPUT_SOURCE_LINK |
获取音频是否自动连接到视频输入 |
MWCAP_IOCTL_SET_VIDEO_INPUT_SOURCE |
设置该通道当前视频输入源,参见 3.4.16 MWCAP_VIDEO_INPUT_TYPE |
MWCAP_IOCTL_GET_VIDEO_INPUT_SOURCE |
获取该通道当前视频输入源,参见 3.4.16 MWCAP_VIDEO_INPUT_TYPE |
MWCAP_IOCTL_SET_AUDIO_INPUT_SOURCE |
设置该通道当前音频输入源,参见 3.4.17 MWCAP_AUDIO_INPUT_TYPE |
MWCAP_IOCTL_GET_AUDIO_INPUT_SOURCE |
获取该通道当前音频输入源,参见 3.4.17 MWCAP_AUDIO_INPUT_TYPE |
3.2.8 信号状态指令;
名称 |
注释 |
MWCAP_IOCTL_GET_INPUT_SPECIFIC_STATUS |
获取该通道的输入信号状态,参见 3.3.28 MWCAP_INPUT_SPECIFIC_STATUS |
MWCAP_IOCTL_GET_VIDEO_SIGNAL_STATUS |
获取视频输入信号的状态, 参见 3.3.29 MWCAP_VIDEO_SIGNAL_STATUS |
MWCAP_IOCTL_GET_AUDIO_SIGNAL_STATUS |
获取音频输入信号的状态,参见 3.3.30 MWCAP_AUDIO_SIGNAL_STATUS |
MWCAP_IOCTL_GET_HDMI_INFOFRAME_VALID |
获取 HDMI InfoFrame 有效状态, 参见 3.4.13 MWCAP_HDMI_INFOFRAME_ID |
MWCAP_IOCTL_GET_HDMI_INFOFRAME_PACKET |
获取 HDMI 信息帧的数据,参见 3.3.32 HDMI_INFOFRAME_PACKET |
3.2.9 视频处理指令
名称 |
注释 |
MWCAP_IOCTL_GET_VIDEO_INPUT_ASPECT_RATIO |
获取视频输入信号的宽高比,参见 3.3.33 MWCAP_VIDEO_ASPECT_RATIO |
MWCAP_IOCTL_SET_VIDEO_INPUT_ASPECT_RATIO |
设置视频输入信号的宽高比,参见 3.3.33 MWCAP_VIDEO_ASPECT_RATIO |
MWCAP_IOCTL_GET_VIDEO_INPUT_COLOR_FORMAT |
获取视频输入信号的色彩空间格式,参见 3.4.4 MWCAP_VIDEO_COLOR_FORMAT |
MWCAP_IOCTL_SET_VIDEO_INPUT_COLOR_FORMAT |
设置视频输入信号的色彩空间格式,参见 3.4.4 MWCAP_VIDEO_COLOR_FORMAT |
MWCAP_IOCTL_GET_VIDEO_INPUT_QUANTIZATION_RANGE |
获取视频输入的量化范围, 参见 3.4.5 MWCAP_VIDEO_QUANTIZATION_RANGE |
MWCAP_IOCTL_SET_VIDEO_INPUT_QUANTIZATION_RANGE |
设置视频输入的量化范围, 参见 3.4.5 MWCAP_VIDEO_QUANTIZATION_RANGE |
3.2.10 OSD 指令
名称 |
注释 |
MWCAP_IOCTL_VIDEO_CREATE_IMAGE |
创建 OSD 图像,参见 3.3.34 MWCAP_VIDEO_CREATE_IMAGE |
MWCAP_IOCTL_VIDEO_OPEN_IMAGE |
打开 OSD 图像,参见 3.3.35 MWCAP_VIDEO_IMAGE_REF |
MWCAP_IOCTL_VIDEO_CLOSE_IMAGE |
关闭 OSD 图像,参见 3.3.35 MWCAP_VIDEO_IMAGE_REF |
MWCAP_IOCTL_VIDEO_UPLOAD_IMAGE |
上载图像到采集设备,参见 3.3.36 MWCAP_VIDEO_UPLOAD_IMAGE |
3.2.11 时序指令
名称 |
注释 |
MWCAP_IOCTL_GET_VIDEO_AUTO_H_ALIGN |
获取视频水平方向是否自动调整 |
MWCAP_IOCTL_SET_VIDEO_AUTO_H_ALIGN |
设置视频水平方向是否自动调整 |
MWCAP_IOCTL_GET_VIDEO_SAMPLING_PHASE |
获取视频采样相位大小 |
MWCAP_IOCTL_SET_VIDEO_SAMPLING_PHASE |
设置视频采样相位大小 |
MWCAP_IOCTL_GET_VIDEO_SAMPLING_PHASE_AUTO |
获取视频采样相位是否自动调整 |
MWCAP_IOCTL_SET_VIDEO_SAMPLING_PHASE_AUTO |
设置视频采样相位是否自动调整 |
MWCAP_IOCTL_SET_VIDEO_TIMING |
获取视频通道时序信息,参见 3.3.37 MWCAP_VIDEO_TIMING |
MWCAP_IOCTL_GET_VIDEO_PREFERRED_TIMING_ARRAY |
获取预设置视频时序参数,参见 3.3.37 MWCAP_VIDEO_TIMING |
MWCAP_IOCTL_SET_VIDEO_CUSTOM_TIMING |
设置自定义视频时序参数,参见 3.3.38 MWCAP_VIDEO_CUSTOM_TIMING |
MWCAP_IOCTL_GET_VIDEO_CUSTOM_TIMING_COUNT |
获取自定义视频时序个数 |
MWCAP_IOCTL_GET_VIDEO_CUSTOM_TIMING_ARRAY |
获取自定义视频时序,参见 3.3.39 MWCAP_VIDEO_CUSTOM_TIMING_PAR |
MWCAP_IOCTL_SET_VIDEO_CUSTOM_TIMING_ARRAY |
设置自定义视频时序, 参见 3.3.39 MWCAP_VIDEO_CUSTOM_TIMING_PAR |
MWCAP_IOCTL_GET_VIDEO_CUSTOM_RESOLUTION_COUNT |
获取自定义视频分辨率个数 |
MWCAP_IOCTL_GET_VIDEO_CUSTOM_RESOLUTION_ARRAY |
获取自定义视频分辨率,参见 3.3.40 MWCAP_VIDEO_CUSTOM_RESOLUTION_PAR |
MWCAP_IOCTL_SET_VIDEO_CUSTOM_RESOLUTION_ARRAY |
设置自定义视频分辨率,参见 3.3.40 MWCAP_VIDEO_CUSTOM_RESOLUTION_PAR |
3.2.12 其他指令;
名称 |
注释 |
MWCAP_IOCTL_SET_LED_MODE |
设置 LED 模式,参见 3.4.15 MWCAP_LED_MODE |
MWCAP_IOCTL_SET_POST_RECONFIG |
发送重读配置的指令,延迟执行 |
MWCAP_IOCTL_GET_CORE_TEMPERATURE |
获取采集设备芯片温度 |
MWCAP_IOCTL_GET_EDID_DATA |
获取 EDID 信息,参见 3.3.41 MWCAP_EDID_DATA |
MWCAP_IOCTL_SET_EDID_DATA |
设置 EDID 信息,参见 3.3.41 MWCAP_EDID_DATA |
3.2.13 V4L2 控制指令
名称 |
注释 |
MWCAP_IOCTL_GET_VIDEO_CONNECTION_FORMAT |
获取视频采集格式信息,参见 3.3.42 MWCAP_VIDEO_CONNECTION_FORMAT |
MWCAP_IOCTL_GET_VIDEO_PROCESS_SETTINGS |
获取视频采集处理配置参数,参见 3.3.43 MWCAP_VIDEO_PROCESS_SETTINGS |
MWCAP_IOCTL_SET_VIDEO_PROCESS_SETTINGS |
设置视频采集处理配置参数,参见 3.3.43 MWCAP_VIDEO_PROCESS_SETTINGS |
MWCAP_IOCTL_GET_VIDEO_OSD_SETTINGS |
获取视频采集 OSD 配置参数,参见 3.3.44 MWCAP_VIDEO_OSD_SETTINGS |
MWCAP_IOCTL_SET_VIDEO_OSD_SETTINGS |
设置视频采集 OSD 配置参数,参见 3.3.44 MWCAP_VIDEO_OSD_SETTINGS |
MWCAP_IOCTL_GET_VIDEO_OSD_IMAGE |
获取视频采集 OSD 图像区域,参见 3.3.45 MWCAP_VIDEO_OSD_IMAGE |
MWCAP_IOCTL_SET_VIDEO_OSD_IMAGE |
设置视频采集 OSD 图像区域,参见 3.3.45 MWCAP_VIDEO_OSD_IMAGE |
MWCAP_IOCTL_GET_BRIGHTNESS |
获取视频采集亮度 |
MWCAP_IOCTL_SET_BRIGHTNESS |
设置视频采集亮度 |
MWCAP_IOCTL_GET_CONTRAST |
获取视频采集对比度 |
MWCAP_IOCTL_SET_CONTRAST |
设置视频采集对比度 |
MWCAP_IOCTL_GET_HUE |
获取视频采集色度 |
MWCAP_IOCTL_SET_HUE |
设置视频采集色度 |
MWCAP_IOCTL_GET_SATURATION |
获取视频采集饱和度 |
MWCAP_IOCTL_SET_SATURATION |
设置视频采集饱和度 |
3.3 I/O Control 结构定义
3.3.1 MWCAP_STREAM_INFO
3.3.2 MWCAP_STREAMS_INFO
3.3.3 MWCAP_CHANNEL_INFO
3.3.4 MWCAP_PRO_CAPTURE_INFO
3.3.5 MWCAP_VIDEO_CAPS
3.3.6 MWCAP_AUDIO_CAPS
3.3.7 MWCAP_FIRMWARE_STORAGE
3.3.8 MWCAP_FIRMWARE_ERASE
3.3.9 MWCAP_FIRMWARE_DATA
3.3.10 MWCAP_TIMER_EXPIRE_TIME
3.3.11 MWCAP_TIMER_WAIT
3.3.12 MWCAP_NOTIFY_REGISTRATION_S
3.3.13 MWCAP_NOTIFY_STATUS
3.3.14 MWCAP_NOTIFY_WAIT
3.3.15 MWCAP_NOTIFY_ENABLE
3.3.16 MWCAP_VIDEO_BUFFER_INFO
3.3.17 MWCAP_VIDEO_FRAME_INFO
3.3.18 MWCAP_VIDEO_CAPTURE_FRAME
3.3.19 MWCAP_VIDEO_CAPTURE_STATUS
3.3.20 MWCAP_AUDIO_CAPTURE_FRAME
3.3.22 MWCAP_HDMI_VIDEO_TIMING
3.3.23 MWCAP_VIDEO_TIMING_SETTINGS
3.3.24 MWCAP_SDI_SPECIFIC_STATUS
3.3.25 MWCAP_HDMI_SPECIFIC_STATUS
3.3.26 MWCAP_COMPONENT_SPECIFIC_STATUS
3.3.27 MWCAP_CVBS_YC_SPECIFIC_STATUS
3.3.29 MWCAP_VIDEO_SIGNAL_STATUS
3.3.30 MWCAP_AUDIO_SIGNAL_STATUS
3.3.32 HDMI_INFOFRAME_PACKET
3.3.33 MWCAP_VIDEO_ASPECT_RATIO
3.3.34 MWCAP_VIDEO_CREATE_IMAGE
3.3.35 MWCAP_VIDEO_IMAGE_REF
3.3.36 MWCAP_VIDEO_UPLOAD_IMAGE
3.3.37 MWCAP_VIDEO_TIMING
3.3.38 MWCAP_VIDEO_CUSTOM_TIMING
3.3.39 MWCAP_VIDEO_CUSTOM_TIMING_PAR
3.3.40 MWCAP_VIDEO_CUSTOM_RESOLUTION_PAR
3.3.41 MWCAP_EDID_DATA
3.3.43 MWCAP_VIDEO_PROCESS_SETTINGS
3.3.44 MWCAP_VIDEO_OSD_SETTINGS
3.3.45 MWCAP_VIDEO_OSD_IMAGE
3.4 I/O Control 枚举定义
3.4.1 MW_FAMILY_ID
3.4.2 MWCAP_PRODUCT_ID
- 枚举原型
typedef enum MWCAPPRODUCT_ID {
MWCAP_PRODUCT_ID_PRO_CAPTURE_AIO = 0x00000102,
MWCAP_PRODUCT_ID_PRO_CAPTURE_DVI = 0x00000103,
MWCAP_PRODUCT_ID_PRO_CAPTURE_HDMI = 0x00000104,
MWCAP_PRODUCT_ID_PRO_CAPTURE_SDI = 0x00000105,
MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_SDI = 0x00000106,
MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_DVI = 0x00000107,
MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_HDMI = 0x00000108,
MWCAP_PRODUCT_ID_PRO_CAPTURE_QUAD_SDI = 0x00000109,
MWCAP_PRODUCT_ID_PRO_CAPTURE_QUAD_HDMI = 0x00000110,
MWCAP_PRODUCT_ID_PRO_CAPTURE_MINI_HDMI = 0x00000111,
MWCAP_PRODUCT_ID_PRO_CAPTURE_HDMI_4K = 0x00000112
} MWCAP_PRODUCT_ID;
- 常量定义
名称 |
注释 |
MWCAP_PRODUCT_ID_PRO_CAPTURE_AIO |
使用 PCI-e 接口和计算机相连接的采集设备 |
MWCAP_PRODUCT_ID_PRO_CAPTURE_DVI |
具有 PCI-e 主机接口和 DVI 输入接口的采集卡 |
MWCAP_PRODUCT_ID_PRO_CAPTURE_HDMI |
具有 PCI-e 主机接口和 HDMI 输入接口的采集卡 |
MWCAP_PRODUCT_ID_PRO_CAPTURE_SDI |
具有 PCI-e 主机接口和 SDI 输入接口的采集卡 |
MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_SDI |
具有 PCI-e 主机接口和两路 SDI 输入接口的采集卡 |
MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_DVI |
具有 PCI-e 主机接口和两路 DVI 输入接口的采集卡 |
MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_HDMI |
具有 PCI-e 主机接口和两路 HDMI 输入接口的采集卡 |
MWCAP_PRODUCT_ID_PRO_CAPTURE_QUAD_SDI |
具有 PCI-e 主机接口和四路 SDI 输入接口的采集卡 |
MWCAP_PRODUCT_ID_PRO_CAPTURE_QUAD_HDMI |
具有 PCI-e 主机接口和四路 HDMI 输入接口的采集卡 |
MWCAP_PRODUCT_ID_PRO_CAPTURE_MINI_HDMI |
具有 PCI-e 主机接口和迷你 HDMI 输入接口的采集卡 |
MWCAP_PRODUCT_ID_PRO_CAPTURE_HDMI_4K |
具有 PCI-e 主机接口和 4K HDMI 输入接口的采集卡 |
3.4.3 MWCAP_VIDEO_FRAME_STATE
- 枚举原型
typedef enum MWCAPVIDEO_FRAME_STATE {
MWCAP_VIDEO_FRAME_STATE_INITIAL,
MWCAP_VIDEO_FRAME_STATE_F0_BUFFERING,
MWCAP_VIDEO_FRAME_STATE_F1_BUFFERING,
MWCAP_VIDEO_FRAME_STATE_BUFFERED
} MWCAP_VIDEO_FRAME_STATE;
- 常量定义
名称 |
注释 |
MWCAP_VIDEO_FRAME_STATE_INITIAL |
初始状态 |
MWCAP_VIDEO_FRAME_STATE_F0_BUFFERING |
正在缓冲第 0 场 |
MWCAP_VIDEO_FRAME_STATE_F1_BUFFERING |
正在缓冲第 1 场 |
MWCAP_VIDEO_FRAME_STATE_BUFFERED |
视频帧已经缓冲好 |
- 枚举原型
typedef enum MWCAPVIDEO_COLOR_FORMAT {
MWCAP_VIDEO_COLOR_FORMAT_UNKNOWN = 0x00,
MWCAP_VIDEO_COLOR_FORMAT_RGB = 0x01,
MWCAP_VIDEO_COLOR_FORMAT_YUV601 = 0x02,
MWCAP_VIDEO_COLOR_FORMAT_YUV709 = 0x03,
MWCAP_VIDEO_COLOR_FORMAT_YUV2020 = 0x04,
MWCAP_VIDEO_COLOR_FORMAT_YUV2020C = 0x05
} MWCAP_VIDEO_COLOR_FORMAT;
- 常量定义
名称 |
注释 |
MWCAP_VIDEO_COLOR_FORMAT_UNKNOWN |
无法识别的色彩格式 |
MWCAP_VIDEO_COLOR_FORMAT_RGB |
RGB 色彩格式 |
MWCAP_VIDEO_COLOR_FORMAT_YUV601 |
YUV601 色彩格式 |
MWCAP_VIDEO_COLOR_FORMAT_YUV709 |
YUV709 色彩格式 |
MWCAP_VIDEO_COLOR_FORMAT_YUV2020 |
YUV2020 色彩格式 |
MWCAP_VIDEO_COLOR_FORMAT_YUV2020C |
YUV2020C 色彩格式 |
3.4.5 MWCAP_VIDEO_QUANTIZATION_RANGE
3.4.6 MWCAP_VIDEO_DEINTERLACE_MODE
- 枚举原型
typedef enum MWCAPVIDEO_DEINTERLACE_MODE {
MWCAP_VIDEO_DEINTERLACE_WEAVE = 0x00,
MWCAP_VIDEO_DEINTERLACE_BLEND = 0x01,
MWCAP_VIDEO_DEINTERLACE_TOP_FIELD = 0x02,
MWCAP_VIDEO_DEINTERLACE_BOTTOM_FIELD = 0x03
} MWCAP_VIDEO_DEINTERLACE_MODE;
- 常量定义
名称 |
注释 |
MWCAP_VIDEO_DEINTERLACE_WEAVE |
不进行去隔行 |
MWCAP_VIDEO_DEINTERLACE_BLEND |
使用混合模式去隔行,默认去隔行方式 |
MWCAP_VIDEO_DEINTERLACE_TOP_FIELD |
通过只取顶场数据去隔行 |
MWCAP_VIDEO_DEINTERLACE_BOTTOM_FIELD |
通过只取底场数据去隔行 |
3.4.7 MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE
- 枚举原型
typedef enum MWCAPVIDEO_ASPECT_RATIO_CONVERT_MODE {
MWCAP_VIDEO_ASPECT_RATIO_IGNORE = 0x00,
MWCAP_VIDEO_ASPECT_RATIO_CROPPING = 0x01,
MWCAP_VIDEO_ASPECT_RATIO_PADDING = 0x02
} MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE;
- 常量定义
名称 |
注释 |
MWCAP_VIDEO_ASPECT_RATIO_IGNORE |
忽略宽高比 |
MWCAP_VIDEO_ASPECT_RATIO_CROPPING |
通过裁剪转换宽高比 |
MWCAP_VIDEO_ASPECT_RATIO_PADDING |
通过填补转换宽高比 |
3.4.8 MWCAP_SD_VIDEO_STANDARD
- 枚举原型
typedef enum MWCAPSD_VIDEO_STANDARD {
MWCAP_SD_VIDEO_NONE,
MWCAP_SD_VIDEO_NTSC_M,
MWCAP_SD_VIDEO_NTSC_433,
MWCAP_SD_VIDEO_PAL_M,
MWCAP_SD_VIDEO_PAL_60,
MWCAP_SD_VIDEO_PAL_COMBN,
MWCAP_SD_VIDEO_PAL_BGHID,
MWCAP_SD_VIDEO_SECAM,
MWCAP_SD_VIDEO_SECAM_60
} MWCAP_SD_VIDEO_STANDARD;
- 常量定义
名称 |
注释 |
MWCAP_SD_VIDEO_NONE |
无 |
MWCAP_SD_VIDEO_NTSC_M |
使用 NTSC_M 标准 |
MWCAP_SD_VIDEO_NTSC_433 |
使用 NTSC_433 标准 |
MWCAP_SD_VIDEO_PAL_M |
使用 PAL_M 标准 |
MWCAP_SD_VIDEO_PAL_60 |
使用 PAL_60 标准 |
MWCAP_SD_VIDEO_PAL_COMBN |
使用 PAL_COMBN 标准 |
MWCAP_SD_VIDEO_PAL_BGHID |
使用 PAL_BGHID 标准 |
MWCAP_SD_VIDEO_SECAM |
使用 SECAM 标准 |
MWCAP_SD_VIDEO_SECAM_60 |
使用 SECAM_60 标准 |
3.4.9 MWCAP_VIDEO_SIGNAL_STATE
- 枚举原型
typedef enum MWCAPVIDEO_SIGNAL_STATE {
MWCAP_VIDEO_SIGNAL_NONE,
MWCAP_VIDEO_SIGNAL_UNSUPPORTED,
MWCAP_VIDEO_SIGNAL_LOCKING,
MWCAP_VIDEO_SIGNAL_LOCKED
} MWCAP_VIDEO_SIGNAL_STATE;
- 常量定义
名称 |
注释 |
MWCAP_VIDEO_SIGNAL_NONE |
无视频信号 |
MWCAP_VIDEO_SIGNAL_UNSUPPORTED |
无效的视频信号,采集设备检测到有输入信号,但无法对该信号锁定识别 |
MWCAP_VIDEO_SIGNAL_LOCKING |
正在锁定视频信号,视频信号的状态有效,但还没有锁定 |
MWCAP_VIDEO_SIGNAL_LOCKED |
已锁定的视频信号,采集设备能够采集当前输入信号 |
3.4.10 MWCAP_VIDEO_FRAME_TYPE
- 枚举原型
typedef enum MWCAPVIDEO_FRAME_TYPE {
MWCAP_VIDEO_FRAME_2D = 0x00,
MWCAP_VIDEO_FRAME_3D_TOP_AND_BOTTOM_FULL = 0x01,
MWCAP_VIDEO_FRAME_3D_TOP_AND_BOTTOM_HALF = 0x02,
MWCAP_VIDEO_FRAME_3D_SIDE_BY_SIDE_FULL = 0x03,
MWCAP_VIDEO_FRAME_3D_SIDE_BY_SIDE_HALF = 0x04
} MWCAP_VIDEO_FRAME_TYPE;
- 常量定义
名称 |
注释 |
MWCAP_VIDEO_FRAME_2D |
2 维视频帧 |
MWCAP_VIDEO_FRAME_3D_TOP_AND_BOTTOM_FULL |
分顶场和底场的全景 3 维视频帧 |
MWCAP_VIDEO_FRAME_3D_TOP_AND_BOTTOM_HALF |
分顶场和底场的半景 3 维视频帧 |
MWCAP_VIDEO_FRAME_3D_SIDE_BY_SIDE_FULL |
并排全景的 3 维视频帧 |
MWCAP_VIDEO_FRAME_3D_SIDE_BY_SIDE_HALF |
并排半景的 3 维视频帧 |
3.4.11 MWCAP_VIDEO_SATURATION_RANGE
- 枚举原型
typedef enum MWCAPVIDEO_SATURATION_RANGE {
MWCAP_VIDEO_SATURATION_UNKNOWN = 0x00,
MWCAP_VIDEO_SATURATION_FULL = 0x01,
MWCAP_VIDEO_SATURATION_LIMITED = 0x02,
MWCAP_VIDEO_SATURATION_EXTENDED_GAMUT = 0x03
} MWCAP_VIDEO_SATURATION_RANGE;
- 常量定义
名称 |
注释 |
MWCAP_VIDEO_SATURATION_UNKNOWN |
未知的视频饱和范围 |
MWCAP_VIDEO_SATURATION_FULL |
全域视频饱和范围,在该范围下,8 位黑白颜色范围为 0–255 |
MWCAP_VIDEO_SATURATION_LIMITED |
局域视频饱和范围,在该范围下,8 位黑白颜色范围为 16–235 |
MWCAP_VIDEO_SATURATION_EXTENDED_GAMUT |
扩展局域视频饱和范围,在该范围下,8 位黑白颜色范围为 1–254 |
3.4.12 MWCAP_HDMI_INFOFRAME_ID
- 枚举原型
typedef enum MWCAPHDMI_INFOFRAME_ID {
MWCAP_HDMI_INFOFRAME_ID_AVI,
MWCAP_HDMI_INFOFRAME_ID_AUDIO,
MWCAP_HDMI_INFOFRAME_ID_SPD,
MWCAP_HDMI_INFOFRAME_ID_MS,
MWCAP_HDMI_INFOFRAME_ID_VS,
MWCAP_HDMI_INFOFRAME_ID_ACP,
MWCAP_HDMI_INFOFRAME_ID_ISRC1,
MWCAP_HDMI_INFOFRAME_ID_ISRC2,
MWCAP_HDMI_INFOFRAME_ID_GAMUT,
MWCAP_HDMI_INFOFRAME_COUNT
} MWCAP_HDMI_INFOFRAME_ID;
- 常量定义
名称 |
注释 |
MWCAP_HDMI_INFOFRAME_ID_AVI |
AVI 信息帧 |
MWCAP_HDMI_INFOFRAME_ID_AUDIO |
Audio 信息帧 |
MWCAP_HDMI_INFOFRAME_ID_SPD |
SPD 信息帧 |
MWCAP_HDMI_INFOFRAME_ID_MS |
MS 信息帧 |
MWCAP_HDMI_INFOFRAME_ID_VS |
VS 信息帧 |
MWCAP_HDMI_INFOFRAME_ID_ACP |
ACP 信息帧 |
MWCAP_HDMI_INFOFRAME_ID_ISRC1 |
ISRC1 信息帧 |
MWCAP_HDMI_INFOFRAME_ID_ISRC2 |
ISRC2 信息帧 |
MWCAP_HDMI_INFOFRAME_ID_GAMUT |
GAMUT 信息帧 |
MWCAP_HDMI_INFOFRAME_COUNT |
信息帧类型总数 |
3.4.13 MWCAP_HDMI_INFOFRAME_ID
- 枚举原型
typedef enum MWCAPHDMI_INFOFRAME_MASK {
MWCAP_HDMI_INFOFRAME_MASK_AVI =(1<< MWCAP_HDMI_INFOFRAME_ID_AVI),
MWCAP_HDMI_INFOFRAME_MASK_AUDIO =(1<< MWCAP_HDMI_INFOFRAME_ID_AUDIO),
MWCAP_HDMI_INFOFRAME_MASK_SPD =(1<< MWCAP_HDMI_INFOFRAME_ID_SPD),
MWCAP_HDMI_INFOFRAME_MASK_MS =(1<< MWCAP_HDMI_INFOFRAME_ID_MS),
MWCAP_HDMI_INFOFRAME_MASK_VS =(1<< MWCAP_HDMI_INFOFRAME_ID_VS),
MWCAP_HDMI_INFOFRAME_MASK_ACP =(1<< MWCAP_HDMI_INFOFRAME_ID_ACP),
MWCAP_HDMI_INFOFRAME_MASK_ISRC1 =(1<< MWCAP_HDMI_INFOFRAME_ID_ISRC1),
MWCAP_HDMI_INFOFRAME_MASK_ISRC2 =(1<< MWCAP_HDMI_INFOFRAME_ID_ISRC2),
MWCAP_HDMI_INFOFRAME_MASK_GAMUT =(1<< WCAP_HDMI_INFOFRAME_ID_GAMUT)
} MWCAP_HDMI_INFOFRAME_MASK;
- 常量定义
名称 |
注释 |
MWCAP_HDMI_INFOFRAME_INFOFRAME_MASK_AVI |
AVI 信息帧 |
MWCAP_HDMI_INFOFRAME_INFOFRAME_MASK_AUDIO |
Audio 信息帧 |
MWCAP_HDMI_INFOFRAME_INFOFRAME_MASK_SPD |
SPD 信息帧 |
MWCAP_HDMI_INFOFRAME_INFOFRAME_MASK_MS |
MS 信息帧 |
MWCAP_HDMI_INFOFRAME_INFOFRAME_MASK_VS |
VS 信息帧 |
MWCAP_HDMI_INFOFRAME_INFOFRAME_MASK_ACP |
ACP 信息帧 |
MWCAP_HDMI_INFOFRAME_INFOFRAME_MASK_ISRC1 |
ISRC1 信息帧 |
MWCAP_HDMI_INFOFRAME_INFOFRAME_MASK_ISRC2 |
ISRC2 信息帧 |
MWCAP_HDMI_INFOFRAME_INFOFRAME_MASK_GAMUT |
GAMUT 信息帧 |
3.4.14 MWCAP_VIDEO_TIMING_TYPE
- 枚举原型
typedef enum MWCAPVIDEO_TIMING_TYPE {
MWCAP_VIDEO_TIMING_NONE = 0x00000000,
MWCAP_VIDEO_TIMING_LEGACY = 0x00000001,
MWCAP_VIDEO_TIMING_DMT = 0x00000002,
MWCAP_VIDEO_TIMING_CEA = 0x00000004,
MWCAP_VIDEO_TIMING_GTF = 0x00000008,
MWCAP_VIDEO_TIMING_CVT = 0x00000010,
MWCAP_VIDEO_TIMING_CVT_RB = 0x00000020,
MWCAP_VIDEO_TIMING_FAILSAFE = 0x00002000
} MWCAP_VIDEO_TIMING_TYPE;
- 常量定义
名称 |
注释 |
MWCAP_VIDEO_TIMING_NONE |
视频通道无时序 |
MWCAP_VIDEO_TIMING_LEGACY |
视频通道使用 LEGACY 时序 |
MWCAP_VIDEO_TIMING_DMT |
视频通道使用 DMT 时序 |
MWCAP_VIDEO_TIMING_CEA |
视频通道使用 CEA 时序 |
MWCAP_VIDEO_TIMING_GTF |
视频通道使用 GTF 时序 |
MWCAP_VIDEO_TIMING_CVT |
视频通道使用 CVT 时序 |
MWCAP_VIDEO_TIMING_CVT_RB |
视频通道使用 CVT_RB 时序 |
MWCAP_VIDEO_TIMING_FAILSAFE |
视频通道使用 FAILSAFE 时序 |
3.4.15 MWCAP_LED_MODE
- 枚举原型
typedef enum MWCAPLED_MODE {
MWCAP_LED_AUTO = 0x00000000,
MWCAP_LED_OFF = 0x80000000,
MWCAP_LED_ON = 0x80000001,
MWCAP_LED_BLINK = 0x80000002,
MWCAP_LED_DBL_BLINK = 0x80000003,
MWCAP_LED_BREATH = 0x80000004
} MWCAP_LED_MODE;
- 常量定义
名称 |
注释 |
MWCAP_LED_AUTO |
自动模式 |
MWCAP_LED_OFF |
LED 保持熄灭状态 |
MWCAP_LED_ON |
LED 保持常亮 |
MWCAP_LED_BLINK |
LED 保持闪烁 |
MWCAP_LED_DBL_BLINK |
LED 每闪烁两次停一次 |
MWCAP_LED_BREATH |
呼吸模式 |
- 枚举原型
typedef enum MWCAPVIDEO_INPUT_TYPE {
MWCAP_VIDEO_INPUT_TYPE_NONE = 0x00,
MWCAP_VIDEO_INPUT_TYPE_HDMI = 0x01,
MWCAP_VIDEO_INPUT_TYPE_VGA = 0x02,
MWCAP_VIDEO_INPUT_TYPE_SDI = 0x04,
MWCAP_VIDEO_INPUT_TYPE_COMPONENT = 0x08,
MWCAP_VIDEO_INPUT_TYPE_CVBS = 0x10,
MWCAP_VIDEO_INPUT_TYPE_YC = 0x20
} MWCAP_VIDEO_INPUT_TYPE;
- 常量定义
名称 |
注释 |
MWCAP_VIDEO_INPUT_TYPE_NONE |
无信号输入接口 |
MWCAP_VIDEO_INPUT_TYPE_HDMI |
HDMI 信号输入接口 |
MWCAP_VIDEO_INPUT_TYPE_VGA |
VGA 信号输入接口 |
MWCAP_VIDEO_INPUT_TYPE_SDI |
SDI 信号输入接口 |
MWCAP_VIDEO_INPUT_TYPE_COMPONENT |
COMPONENT 信号输入接口 |
MWCAP_VIDEO_INPUT_TYPE_CVBS |
CVBS 信号输入接口 |
MWCAP_VIDEO_INPUT_TYPE_YC |
YC 信号输入接口 |
- 枚举原型
typedef enum MWCAPAUDIO_INPUT_TYPE {
MWCAP_AUDIO_INPUT_TYPE_NONE = 0x00,
MWCAP_AUDIO_INPUT_TYPE_HDMI = 0x01,
MWCAP_AUDIO_INPUT_TYPE_SDI = 0x02,
MWCAP_AUDIO_INPUT_TYPE_LINE_IN = 0x04,
MWCAP_AUDIO_INPUT_TYPE_MIC_IN = 0x08
} MWCAP_AUDIO_INPUT_TYPE;
- 常量定义
名称 |
注释 |
MWCAP_AUDIO_INPUT_TYPE_NONE |
无信号输入接口 |
MWCAP_AUDIO_INPUT_TYPE_HDMI |
HDMI 信号输入接口 |
MWCAP_AUDIO_INPUT_TYPE_SDI |
SDI 信号输入接口 |
MWCAP_AUDIO_INPUT_TYPE_LINE_IN |
线路输入信号输入接口 |
MWCAP_AUDIO_INPUT_TYPE_MIC_IN |
麦克风信号输入接口 |