针对Hi3519DV500的ISP开发说明——AIDRC算法应用
AIDRC简介
AIDRC(AI-based Dynamic Range Compression)是一种基于AI的新型的动态范围压缩算法,它能在宽动态场景下,更好地保留亮暗区(尤其是逆光区域)的细节,同时提升整体对比度,从而提高成像设备在宽动态场景的细节捕获能力。
提供接口及注意事项
- ss_mpi_aidrc_init:初始化AIDRC模块。
【注意】
不支持多进程调用。
- ss_mpi_aidrc_exit:去初始化AIDRC模块。
【注意】
- 不支持多进程调用。
- 调用此接口去初始化AIDRC模块前,需要关闭AIDRC数据流开关。
- ss_mpi_aidrc_load_model:加载AIDRC的模型文件。
【注意】
- 调用该接口前必须先调用 ss_mpi_aidrc_init初始化AIDRC模块。
- 调用该接口前AIDRC数据流需要保持关闭状态。
- 相同类型的模型文件,如果图像宽高相等时,不能重复加载。
- 支持多个模型文件的加载,或者同一模型文件、不同分辨率多次加载。
- 不支持多进程调用。
- ss_mpi_aidrc_unload_model:卸载AIDRC的模型文件。
【注意】
- 应用程序退出前,需调用此接口释放已加载模型文件的内存资源,或者调用ss_mpi_aidrc_exit接口释放AIDRC的所有资源。
- 不支持多进程调用。
- 调用此接口前需要关闭AIDRC数据流开关。
- ss_mpi_aidrc_set_cfg:设置AIDRC算法相关配置参数。
【注意】
- 调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块。
- 调用该接口时AIDRC数据流需要保持关闭状态。
- 如果调用了ss_mpi_aidrc_attach_vb_pool接口配置了vb,通过ss_mpi_aidrc_set_cfg接口配置的vb_cnt不会生效。
- ss_mpi_aidrc_get_cfg:获取AIDRC算法相关配置参数。
【注意】
调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块。
- ss_mpi_aidrc_enable:使能AIDRC数据流开关。
【注意】
- 调用此接口前需要先初始化VI、ISP模块。
- 主进程调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块,并调用ss_mpi_aidrc_load_model接口加载AIDRC模型文件。
- 其他次进程(例如PQTools)支持使用该接口打开AIDRC数据流,无需初始化AIDRC,但需要主进程保证已经调用了ss_mpi_aidrc_init初始化过AIDRC模块。
- enable aidrc前有如下限制条件:
– 对应的vi pipe必须已经创建。
– 需要用户调用函数去分配VB池,VB大小计算使用函数ot_aidrc_get_out_buf_size,且分配的VB池需要attach对应的PIPE上。
5. AIDRC使能之后,延迟2帧生效。
6. AIDRC仅支持16bit的Bayer图像数据处理。
7. 调用该接口前,需要提前通过ss_mpi_sys_set_vi_aiisp_mode接口配置VI为OT_VI_AIISP_MODE_DEFAULT模式,或OT_VI_AIISP_MODE_AIDRC模式。
- ss_mpi_aidrc_disable:关闭AIDRC数据流开关。
【注意】
- 主进程调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块,并调用ss_mpi_aidrc_load_model接口加载AIDRC模型文件。
- 其他次进程(例如PQTools)支持使用该接口关闭AIDRC数据流,无需初始化AIDRC,但需要主进程保证已经调用了ss_mpi_aidrc_init初始化过AIDRC模块。
- 在VI模块销毁对应的pipe之前,需要先调用该接口关闭AIDRC功能,否则可能出现VB泄漏。
- ss_mpi_aidrc_set_attr:设置AIDRC的属性。
【注意】
- 调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块,并调用ss_mpi_aidrc_load_model接口加载AIDRC模型文件。
- 使能AIDRC数据流开关之后才能调用此接口成功设置AIDRC属性。
- ss_mpi_aidrc_get_attr:获取AIDRC的属性。
【注意】
使能AIDRC数据流开关之后才能调用此接口成功获取AIDRC属性
- ss_mpi_aidrc_set_smooth: 设置AIDRC的开关平 滑过渡属性。
【注意】
调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块,并调用ss_mpi_aidrc_load_model接口加载AIDRC模型文件。
- ss_mpi_aidrc_get_smooth: 获取AIDRC的开关平 滑过渡属性。
【注意】
调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块,并调用ss_mpi_aidrc_load_model接口加载AIDRC模型文件。
- ss_mpi_aidrc_attach_vb_pool:将AIDRC输出绑定到指定的视频缓存VB池。
【注意】
- 调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块。
- 必须在使能AIDRC数据流开关之前调用此接口
- ss_mpi_aidrc_detach_vb_pool:将AIDRC输出与指定的视频缓存VB池解除绑定。
【注意】
- 调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块。
- 必须在使能AIDRC数据流开关之前调用此接口。
- ss_mpi_aidrc_set_thread_attr:设置AIDRC线程属性。
【注意】
调用该接口支持在调用ss_mpi_aidrc_init初始化AIDRC模块前或开启AIDRC通路后动态修改。
- ss_mpi_aidrc_get_thread_attr:获取AIDRC线程属性。
【注意】
/
- 分享
- 举报
-
浏览量:2926次2023-03-17 09:53:59
-
浏览量:2538次2023-03-17 10:12:15
-
浏览量:3253次2023-03-17 10:21:08
-
浏览量:3272次2023-07-12 10:54:09
-
浏览量:2800次2023-03-17 18:38:40
-
浏览量:178次2024-11-13 14:14:36
-
浏览量:2355次2023-11-09 16:39:11
-
浏览量:5396次2023-03-06 19:47:18
-
浏览量:3470次2023-11-10 17:05:37
-
2023-10-10 12:37:57
-
浏览量:2727次2023-07-13 15:07:51
-
浏览量:2682次2023-03-17 10:25:53
-
浏览量:2700次2023-07-12 17:02:05
-
浏览量:4754次2023-03-20 14:01:27
-
浏览量:1518次2023-03-20 14:39:03
-
2023-07-21 09:13:37
-
2023-07-22 13:41:13
-
浏览量:1946次2023-07-21 14:58:36
-
2023-10-05 22:07:30
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
Winki
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明