8. NPCM 视频驱动¶
此驱动程序用于控制新唐 NPCM SoC 上存在的视频捕获/差分 (VCD) 引擎和编码压缩引擎 (ECE)。 VCD 可以从数字视频输入捕获帧并比较内存中的两个帧,而 ECE 可以将帧数据压缩为 HEXTILE 格式。
8.1. 驱动程序特定控件¶
8.1.1. V4L2_CID_NPCM_CAPTURE_MODE¶
VCD 引擎支持两种模式
完整模式
将下一个完整帧捕获到内存中。
差分模式
将传入帧与内存中存储的帧进行比较,并更新内存中已区分的帧。
应用程序可以使用 V4L2_CID_NPCM_CAPTURE_MODE
控件设置 VCD 模式,使用不同的控件值(enum v4l2_npcm_capture_mode)
V4L2_NPCM_CAPTURE_MODE_COMPLETE
:将 VCD 设置为完整模式。V4L2_NPCM_CAPTURE_MODE_DIFF
:将 VCD 设置为差分模式。
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 新唐科技