Edit online

接口设计

3 Mar 2025
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:失败

注意事项