---
title: 注册函数的关系
description: "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库注册。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/ispdevug/ispdevug_0212.html
sourcePath: /source/zh/canncommercial/900/others/ispdevug/ispdevug_0212.html
indexId: 3ad1760294fa946e3d9229cef9e268b6ab6692ce90a7cf6defb8c13dfec3b13e64
---
# 注册函数的关系

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库的开源代码。
