Edit online

接口设计

3 Mar 2025
Read time: 2 minute(s)

Driver 层接口设计

1. aic_dvp_probe

函数原型

int aic_dvp_probe(void)

功能说明

完成中断申请、管理状态初始化等

参数定义

返回值

0,成功;<0,失败

注意事项

-

2. aic_dvp_open

函数原型

int aic_dvp_open(void)

功能说明

使能时钟、使能 DVP 控制器、初始化 Buf 链表信息等

参数定义

返回值

0,成功;<0,失败

注意事项

-

3. aic_dvp_close

函数原型

int aic_dvp_close(void)

功能说明

关闭时钟、关闭 DVP 控制器

参数定义

返回值

0,成功;<0,失败

注意事项

-

4. aic_dvp_set_in_fmt

函数原型

int aic_dvp_set_in_fmt(struct mpp_video_fmt *fmt)

功能说明

设置 DVP 的输入视频格式

参数定义

fmt - 指向 struct mpp_video_fmt 类型的指针

返回值

0,成功;<0,失败

注意事项

fmt 一般是从 Camera 设备中读取到的格式信息

5. aic_dvp_set_out_fmt

函数原型

int aic_dvp_set_out_fmt(struct dvp_out_fmt *fmt)

功能说明

设置 DVP 的输出图像格式

参数定义

fmt - 指向 struct dvp_out_fmt 类型的指针

返回值

0,成功

注意事项

-

6. aic_dvp_stream_on

函数原型

int aic_dvp_stream_on(void)

功能说明

启动视频流

参数定义

返回值

0,成功;<0,失败

注意事项

-

7. aic_dvp_stream_off

函数原型

int aic_dvp_stream_off(void)

功能说明

关闭视频流

参数定义

返回值

0,成功;<0,失败

注意事项

-

8. aic_dvp_req_buf

函数原型

int aic_dvp_req_buf(char *buf, u32 size, struct vin_video_buf *vbuf)

功能说明

按照给定的 Video Buf 配置信息从内存池中申请 Buf

参数定义

buf - 指向内存池的指针
size - 内存池的总大小
vbuf - Video Buf 的配置信息

返回值

0,成功;<0,失败

注意事项

-

9. aic_dvp_q_buf

函数原型

int aic_dvp_q_buf(u32 index)

功能说明

释放指定 index 的 Buf 进入空闲队列(queued_list)

参数定义

index - Buf 的索引号

返回值

0,成功;<0,失败

注意事项

-

10. aic_dvp_dq_buf

函数原型

int aic_dvp_dq_buf(u32 *pindex)

功能说明

从 DVP 处理完成后的队列(done_list)中获取一个 Buf

参数定义

pindex - 用于保存获取到的 Buf 索引号

返回值

0,成功;<0,失败

注意事项

-