Edit online

模块架构

  • VE HAL :负责 VE 硬件资源初始化和获取等

  • VE DRV :对 HAL 层的封装,向上提供更简洁的接口

  • MPP :直接掉用 HAL 层接口,处理编解码逻辑,寄存器配置等

  • APP :应用层调用 MPP 层接口,即可实现对 VE 的操作

../images/ve_framework.png
1. VE 驱动框架
基本流程如下:
  1. 调用 drv_ve_open 打开 VE 驱动;
  2. 调用 drv_ve_control(IOC_VE_GET_CLIENT) 获取 ve 硬件设备独占权限;
  3. 程序完成一次独立的编解码任务:配置寄存器、等待 VE 当前任务完成;
  4. 调用 drv_ve_control(IOC_VE_PUT_CLIENT)释放 ve 硬件设备独占权限;
  5. 视频帧解码完成,调用 drv_ve_close 关闭 VE 驱动。