针对Hi3519DV500的ISP开发说明——AIDRC算法应用

针对Hi3519DV500的ISP开发说明——AIDRC算法应用 Winki 2023-03-17 14:40:01 1759

易百纳社区

AIDRC简介

AIDRC(AI-based Dynamic Range Compression)是一种基于AI的新型的动态范围压缩算法,它能在宽动态场景下,更好地保留亮暗区(尤其是逆光区域)的细节,同时提升整体对比度,从而提高成像设备在宽动态场景的细节捕获能力。

提供接口及注意事项

  • ss_mpi_aidrc_init:初始化AIDRC模块。

【注意】

不支持多进程调用。

 

  • ss_mpi_aidrc_exit:去初始化AIDRC模块。

【注意】

  1. 不支持多进程调用。
  2. 调用此接口去初始化AIDRC模块前,需要关闭AIDRC数据流开关。

 

  • ss_mpi_aidrc_load_model:加载AIDRC的模型文件。

【注意】

  1. 调用该接口前必须先调用 ss_mpi_aidrc_init初始化AIDRC模块。
  2. 调用该接口前AIDRC数据流需要保持关闭状态。
  3. 相同类型的模型文件,如果图像宽高相等时,不能重复加载。
  4. 支持多个模型文件的加载,或者同一模型文件、不同分辨率多次加载。
  5. 不支持多进程调用。

 

  • ss_mpi_aidrc_unload_model:卸载AIDRC的模型文件。

【注意】

  1. 应用程序退出前,需调用此接口释放已加载模型文件的内存资源,或者调用ss_mpi_aidrc_exit接口释放AIDRC的所有资源。
  2. 不支持多进程调用。
  3. 调用此接口前需要关闭AIDRC数据流开关。

 

  • ss_mpi_aidrc_set_cfg:设置AIDRC算法相关配置参数。

【注意】

  1. 调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块。
  2. 调用该接口时AIDRC数据流需要保持关闭状态。
  3. 如果调用了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数据流开关。

【注意】

  1. 调用此接口前需要先初始化VI、ISP模块。
  2. 主进程调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块,并调用ss_mpi_aidrc_load_model接口加载AIDRC模型文件。
  3. 其他次进程(例如PQTools)支持使用该接口打开AIDRC数据流,无需初始化AIDRC,但需要主进程保证已经调用了ss_mpi_aidrc_init初始化过AIDRC模块。
  4. 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数据流开关。

【注意】

  1. 主进程调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块,并调用ss_mpi_aidrc_load_model接口加载AIDRC模型文件。
  2. 其他次进程(例如PQTools)支持使用该接口关闭AIDRC数据流,无需初始化AIDRC,但需要主进程保证已经调用了ss_mpi_aidrc_init初始化过AIDRC模块。
  3. 在VI模块销毁对应的pipe之前,需要先调用该接口关闭AIDRC功能,否则可能出现VB泄漏。

 

  • ss_mpi_aidrc_set_attr:设置AIDRC的属性。

【注意】

  1. 调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块,并调用ss_mpi_aidrc_load_model接口加载AIDRC模型文件。
  2. 使能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池。

【注意】

  1. 调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块。
  2. 必须在使能AIDRC数据流开关之前调用此接口

 

  • ss_mpi_aidrc_detach_vb_pool:将AIDRC输出与指定的视频缓存VB池解除绑定。

【注意】

  1. 调用该接口前必须先调用ss_mpi_aidrc_init初始化AIDRC模块。
  2. 必须在使能AIDRC数据流开关之前调用此接口。


  • ss_mpi_aidrc_set_thread_attr:设置AIDRC线程属性。

【注意】

调用该接口支持在调用ss_mpi_aidrc_init初始化AIDRC模块前或开启AIDRC通路后动态修改。

 

  • ss_mpi_aidrc_get_thread_attr:获取AIDRC线程属性。

【注意】

/

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
Winki
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
Winki
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区