Edit online

接口设计

16 Jul 2024
Read time: 2 minute(s)

用户进程通过 /dev/aic_ve 节点打开 VE 驱动。

IOC_VE_GET_CLIENT

功能说明 获取 VE 设备独占权限
接口语法
int ioctl(int fd, unsigned long cmd);
参数
  • CMD:IOC_VE_GET_CLIENT
返回值 0:成功。

<0:失败

注意事项

IOC_VE_PUT_CLIENT

功能说明 释放 VE 设备独占权限
接口语法
int ioctl(int fd, unsigned long cmd);
参数定义
  • CMD:IOC_VE_PUT_CLIENT

返回值 0:成功。

<0:失败

注意事项

IOC_VE_GET_CLIENT 和 IOC_VE_PUT_CLIENT 的调用必须一一对应

IOC_VE_WAIT

功能说明 等待 VE 驱动编解码完成,获取 VE 寄存器状态
接口语法
int ioctl(int fd, unsigned long cmd, struct wait_info *info);
参数
  • CMD:IOC_VE_WAIT
  • info: 指向 struct wait_info 指针
返回值 0:成功。

<0:失败

注意事项

IOC_VE_WAIT 的调用必须在 IOC_VE_GET_CLIENT 和 IOC_VE_PUT_CLIENT 之间

IOC_VE_GET_INFO

功能说明 获取 struct ve_info 数据
接口语法
int ioctl(int fd, unsigned long cmd, struct ve_info *info);
参数
  • CMD:IOC_VE_GET_INFO
  • info: 指向 info 指针
返回值 0:成功。<0:失败
注意事项

IOC_VE_SET_INFO

功能说明 设置 struct ve_info 数据
接口语法
int ioctl(int fd, unsigned long cmd, struct ve_info *info);
参数
  • CMD:IOC_VE_SET_INFO
  • info: 指向 info 指针
返回值 0:成功。<0:失败
注意事项

IOC_VE_RESET

功能说明 VE 驱动硬件复位
接口语法
int ioctl(int fd, unsigned long cmd);
参数
  • cmd:IOC_VE_RESET
返回值 0:成功。

IOC_VE_WAIT 的调用必须在 IOC_VE_GET_CLIENT 和 IOC_VE_PUT_CLIENT 之间

注意事项

IOC_VE_ADD_DMA_BUF

功能说明 加载 DMA buffer, 获取 DMA buffer 物理地址
接口语法
int ioctl(int fd, unsigned long cmd, struct dma_buf_info *buf);
参数
  • CMD:IOC_VE_ADD_DMA_BUF
  • buf: 指向 info 指针
返回值 0:成功。<0:失败
注意事项

IOC_VE_RM_DMA_BUF

功能说明 移除 DMA buffer
接口语法
int ioctl(int fd, unsigned long cmd, struct dma_buf_info *buf);
参数
  • CMD:IOC_VE_RM_DMA_BUF
  • buf: 指向 info 指针
返回值 0:成功。<0:失败
注意事项