8. NPCM 视频驱动¶
此驱动用于控制新唐 NPCM SoC 上存在的视频捕获/差异 (VCD) 引擎和编码压缩引擎 (ECE)。 VCD 可以从数字视频输入捕获帧,并比较内存中的两个帧,ECE 可以将帧数据压缩为 HEXTILE 格式。
8.1. 驱动特定控制¶
8.1.1. V4L2_CID_NPCM_CAPTURE_MODE¶
VCD 引擎支持两种模式
COMPLETE 模式
将下一个完整帧捕获到内存中。
DIFF 模式
将传入帧与存储在内存中的帧进行比较,并更新内存中已区分的帧。
应用程序可以使用 V4L2_CID_NPCM_CAPTURE_MODE
控制来设置具有不同控制值的 VCD 模式 (enum v4l2_npcm_capture_mode)
V4L2_NPCM_CAPTURE_MODE_COMPLETE
:将 VCD 设置为 COMPLETE 模式。V4L2_NPCM_CAPTURE_MODE_DIFF
:将 VCD 设置为 DIFF 模式。
8.1.2. V4L2_CID_NPCM_RECT_COUNT¶
如果使用 V4L2_PIX_FMT_HEXTILE 格式,VCD 将捕获帧数据,然后 ECE 将数据压缩为 HEXTILE 矩形,并使用远程帧缓冲区协议中定义的布局将其存储在 V4L2 视频缓冲区中
(RFC 6143, https://www.rfc-editor.org/rfc/rfc6143.html#section-7.6.1)
+--------------+--------------+-------------------+
| No. of bytes | Type [Value] | Description |
+--------------+--------------+-------------------+
| 2 | U16 | x-position |
| 2 | U16 | y-position |
| 2 | U16 | width |
| 2 | U16 | height |
| 4 | S32 | encoding-type (5) |
+--------------+--------------+-------------------+
| HEXTILE rectangle data |
+-------------------------------------------------+
应用程序可以通过 VIDIOC_DQBUF 获取视频缓冲区,然后调用 V4L2_CID_NPCM_RECT_COUNT
控制来获取此缓冲区中的 HEXTILE 矩形数量。
8.2. 参考¶
include/uapi/linux/npcm-video.h
版权所有 © 2022 新唐科技