hi_mpi_awb_sensor_reg_callback

Description

Registers a sensor. This callback API is provided by the AWB algorithm library. The AWB obtains differentiated initialization parameters and controls the sensor based on related callback APIs.

Prototype

hi_s32 hi_mpi_awb_sensor_reg_callback(hi_vi_pipe vi_pipe, hi_isp_3a_alg_lib *awb_lib, const hi_isp_sns_attr_info *sns_attr_info, const hi_isp_awb_sensor_register *awb_sns_register);

Constraints

This API does not support multiple processes.

Parameters

Parameter

Input/Output

Description

vi_pipe

Input

VI pipe ID

Value range: [0, 8)

awb_lib

Input

Pointer to the data structure of the AWB algorithm library

sns_attr_info

Input

Attributes of the sensor that is registered with the AWB.

sensor_id in this structure can be configured in the sensor library and must be unique. It is used to ensure that the sensor registered with the ISP library is the same as that registered with the 3A algorithm library.

awb_sns_register

Input

Pointer to the sensor registration structure

Returns

  • 0: success
  • Other values: failure. For details, see Error Codes.

Example

hi_isp_3a_alg_lib awb_lib; 
hi_isp_awb_sensor_register awb_register; 
hi_isp_sns_attr_info sns_attr_info; 
hi_isp_awb_sensor_exp_func *exp_funcs = &awb_register.sns_exp; 
memset(exp_funcs, 0, sizeof(hi_isp_awb_sensor_exp_func)); 
exp_funcs-> pfn_cmos_get_awb_default = cmos_get_awb_default; 
hi_vi_pipe vi_pipe = 0; 
awb_lib.id = 0; 
sns_attr_info.sensor_id = IMX178_ID; 
strcpy(awb_lib. lib_name, HI_AWB_LIB_NAME); 
ret = hi_mpi_awb_sensor_reg_callback(vi_pipe, &awb_lib, &sns_attr_info, &awb_register); 
if (ret) {
    printf("Sensor register callback function to awb lib failed!\n");     
return ret;
}