下载
中文
注册

注册函数的关系

hi_mpi_isp_ae_lib_reg_callback 和 hi_mpi_isp_awb_lib_reg_callback 这两个接口是ISP firmware 库提供的钩子函数,用于开发 3A 算法库时实现注册动作。例如昇腾提供的 3A 算法库的 hi_mpi_ae_register 和 hi_mpi_awb_register 接口,在实现时调用了相应的钩子函数,所以调用 hi_mpi_ae_register 能实现 AE 算法库向 ISP firmware 库注册。

同样的,昇腾 3A 算法库同样也提供了钩子函数,用于 Sensor 库实现向 3A 算法库注册的动作。例如 hi_mpi_ae_sensor_reg_callback 和hi_mpi_awb_sensor_reg_callback,在 xxx_cmos.c 中可以看到调用了这些钩子函数的函数 sensor_register_callback。用户在开发 3A 算法库时,也可以通过提供钩子函数的方式,实现 Sensor 库向 3A 算法库的注册。

当然,ISP firmware 库也提供了钩子函数,用于 Sensor 库实现向 ISP firmware 库注册的动作。例如 hi_mpi_isp_sensor_reg_callback,在 xxx_cmos.c 中可以看到调用了该钩子函数的函数 sensor_register_callback。所以,当用户调用 hi_mpi_ae_register、hi_mpi_awb_register 和 sensor_register_callback 就完成了 3A 算法库向 ISP firmware 库注册、Sensor 库向 3A 算法库和 ISP firmware 库注册。

用户开发 3A 算法库时,请自行实现 hi_mpi_axx_register 接口。同时也请自行实现hi_mpi_axx_sensor_reg_callback 钩子函数,并在 sensor_register_callback 中增加调用该钩子函数的代码,相关代码可以参考 ISP firmware 库的开源代码。