Edit online

模块架构

2 Dec 2024
Read time: 1 minute(s)
VE 硬件需要由内核态 VE 驱动和用户态程序 MPP 相互配合实现编解码功能。
  • 内核 VE 驱动:负责 VE 硬件资源初始化和获取等
  • 用户态 MPP 程序:负责处理编解码逻辑、寄存器配置等

VE 驱动基于字符设备实现,应用层通过设备节点 (/dev/aic_ve) 进行交互。


ve_framework1

1. VE 驱动框架
基本流程如下:
  1. 用户态程序通过 open /dev/aic_ve 打开 VE 驱动。
  2. 用户态程序通过 ioctl 获取 VE 硬件设备独占权限。
  3. 用户态程序完成一次独立的编解码任务:配置寄存器、等待 VE 当前任务完成。
  4. 用户态程序通过 ioctl 释放 VE 硬件设备独占权限。
  5. 视频帧解码完成,用户态程序调用 close 关闭 VE 驱动。