模块架构
2 Dec 2024
Read time: 1 minute(s)
VE 硬件需要由内核态 VE 驱动和用户态程序 MPP 相互配合实现编解码功能。
- 内核 VE 驱动:负责 VE 硬件资源初始化和获取等
- 用户态 MPP 程序:负责处理编解码逻辑、寄存器配置等
VE 驱动基于字符设备实现,应用层通过设备节点 (/dev/aic_ve) 进行交互。
基本流程如下:
- 用户态程序通过 open /dev/aic_ve 打开 VE 驱动。
- 用户态程序通过 ioctl 获取 VE 硬件设备独占权限。
- 用户态程序完成一次独立的编解码任务:配置寄存器、等待 VE 当前任务完成。
- 用户态程序通过 ioctl 释放 VE 硬件设备独占权限。
- 视频帧解码完成,用户态程序调用 close 关闭 VE 驱动。