5.7. Image Quality - ISP

5.7.1. Module Description

ISP (Image Signal Processing) is a key unit used to process the output signals from front-end image sensors, with the primary function of adapting to image sensors from different manufacturers to achieve optimal image quality and performance.

The X5 SDK integrates an ISP unit for processing wide dynamic range (WDR), high dynamic range (HDR), and noise reduction (3DNR) in camera input images. This ISP supports RAW data input of 8-bit, 10-bit, 12-bit, and 16-bit, and supports up to two-frame HDR synthesis (long and short exposure), with performance up to 4K@60fps and maximum support for 12M image input. Its main features are as follows:

  • Built-in Image Signal Processor (ISP), supporting RAW to YUV conversion

  • Maximum processing capability: 3840x2160@60fps

    • Hardware mode: 4096x3072

    • Software mode (tile mode): 5472x3076

  • Supports high dynamic range (HDR) sensors:

    • Up to 20-bit HDR processing supported

    • Supports Digital Overlap (DOL2) HDR sensors

    • Supports linearized HDR sensors

    • Supports native (in-sensor) compressed HDR sensors

  • Supports histogram statistics for Auto-Exposure (AE), Auto-White Balance (AWB), and Auto-Focus (AF) (3A)

  • Supports lens shading correction

  • Supports defect pixel correction (DPC)

  • Supports spatial noise reduction (2DNR)

  • Supports temporal noise reduction (3DNR)

  • Supports color noise suppression

  • Supports RGB sharpening and edge enhancement

  • Supports gamma correction

  • Supports black level compensation

  • Supports sensor linearity correction

  • Supports green equalization

  • Supports digital gain

  • Supports enhanced color interpolation (Bayer demosaicing filter)

  • Supports chromatic aberration correction (CAC)

  • Supports color correction (Xtalk) matrix (CCM)

  • Supports color space conversion (CSC)

  • Supports flicker reduction

  • Supports color processing: contrast, saturation, brightness, hue (CPROC)

  • Supports sharpening/blur filter

  • Supports RGB-IR 4x4 mode

  • Supports wide dynamic range (WDR), combining global and local tone mapping

  • Supports PDAF (Phase Detection Auto-Focus)

Note: When an HDR sensor is connected, the VIN-ISP connection must use online mode. Since online mode exclusively occupies the ISP resource, only 1 stream is supported.

5.7.1.1. Terminology Explanation

The following table explains professional term abbreviations used in function and variable names:

Term Abbreviation Description
Built-in Image Signal Processor ISP Built-in Image Signal Processor
High Dynamic Range HDR High Dynamic Range
Digital Overlap DOL2 Digital Overlap (DOL2)
Auto-Exposure, Auto-White balance, and Auto-Focus 3A Auto-Exposure, Auto-White Balance, and Auto-Focus
Auto-Exposure AE Auto-Exposure
Auto-White Balance AWB Auto-White Balance
Auto-Focus AF Auto-Focus
Lens Shading Correction LSC Lens Shading Correction
Defect Pixel Correction DPC Defect Pixel Correction
Spatial Noise Reduction 2DNR Spatial Noise Reduction (2D Noise Reduction)
Temporal Noise Reduction 3DNR Temporal Noise Reduction (3D Noise Reduction)
Gamma Correction GC Gamma Correction
Digital Gain DG Digital Gain
Chromatic Aberration Correction CAC Chromatic Aberration Correction
Color Correction (Xtalk) Matrix CCM Color Correction (Crosstalk) Matrix
Color Space Conversion CSC Color Space Conversion
Color Processing: Contrast, Saturation, Brightness, Hue CPROC Color Processing: Contrast, Saturation, Brightness, Hue
Wide Dynamic Range WDR Wide Dynamic Range

5.7.1.2. Image Processing Mode Description

This platform supports two image processing modes: Offline mode and Online mode.

Offline Mode

The data transmission path in Offline mode is shown in the figure below:

VIN_ISP_offline

Detailed explanation:

  1. VNode1:

    • VIN: Video Input module, responsible for receiving raw video data from the camera.

    • MIPI RX(CSIx): Receives camera data via the MIPI interface.

    • SIFx: Performs preliminary processing or formatting of the received data.

  2. Data Transmission:

    • Data is transferred from the SIFx module of VNode1 to the ISP module of VNode2.

    • Data transmission path: SIFx → DDR → ISP.

    • This means that in Offline mode, data passes through DDR (Dynamic Random Access Memory) for storage and processing.

  3. VNode2:

    • ISP: Image Signal Processor, responsible for further processing of raw image data.

    • Pipeline: Image processing pipeline for processing image data.

    • RDMA: Possibly a storage module for storing processed image data.

    • RAW and YUV: Represent different image data formats; RAW is unprocessed raw data, while YUV is a common image format.

Online Mode

The data transmission path in Online mode is shown in the figure below:

VIN_ISP_offline

Detailed explanation:

  1. VNode1:

    • VIN: Video Input module, responsible for receiving raw video data from the camera.

    • MIPI RX(CSIx): Receives camera data via the MIPI interface.

    • SIFx: Performs preliminary processing or formatting of the received data.

  2. Data Transmission:

    • Data is directly transferred from the SIFx module of VNode1 to the ISP module of VNode2, without passing through DDR.

    • Data transmission path: SIFx → Ichn0 → ISP.

    • This means that in Online mode, data is processed directly in the processing pipeline without going through DDR.

  3. VNode2:

    • ISP: Image Signal Processor, responsible for further processing of raw image data.

    • Pipeline: Image processing pipeline for processing image data.

    • In Online mode, data is processed directly in the Pipeline without passing through DDR.

The main differences between the two transmission modes are:

  • Offline Mode: Data passes through DDR for storage and processing, suitable for scenarios requiring large storage and complex processing.

  • Online Mode: Data is processed directly in the processing pipeline without passing through DDR, suitable for real-time processing and low-latency scenarios.

The choice between these two modes depends on specific application requirements, considering factors such as processing speed, storage needs, and system resources.

5.7.2. Reference Examples

Example code for the ISP section can be found in the multi_isp_vflow section of the sample_isp usage instructions.

5.7.3. API Reference

5.7.4. Interface Description

Note:

  1. When using API interfaces, the corresponding module must be enabled via the tuning JSON; otherwise, calling the get interface may result in incorrect parameters.

  2. Modules with state set to 1 in the tuning JSON are in manual mode, and retrieving auto parameters may cause issues. When state is 2, it is in auto mode, allowing retrieval of both current and auto parameters.

5.7.4.1. hbn_isp_set_module_control

【Function Declaration】

int32_t hbn_isp_set_module_control(hbn_vnode_handle_t vnode_fd, hbn_isp_module_ctrl_t *p_ctrl)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: ISP vnode handle.

  • [IN] hbn_isp_module_ctrl_t *p_ctrl: Pointer to the ISP module control structure.

【Return Value】

【Functional Description】

The ISP pipeline contains multiple modules; this interface controls whether certain ISP functions are enabled.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.2. hbn_isp_get_module_control

【Function Declaration】

int32_t hbn_isp_get_module_control(hbn_vnode_handle_t vnode_fd, hbn_isp_module_ctrl_t *p_ctrl)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: ISP vnode handle.

  • [OUT] hbn_isp_module_ctrl_t *p_ctrl: Pointer to the ISP module control structure.

【Return Value】

【Functional Description】

Retrieves the control status of the ISP module. The ISP pipeline contains multiple modules; this interface retrieves whether a specific function in the ISP is enabled.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.3. hbn_isp_set_exposure_attr

【Function Declaration】

int32_t hbn_isp_set_exposure_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: ISP vnode handle.

  • [IN] hbn_isp_exposure_attr_t *p_attr: Pointer to the ISP exposure attribute structure.

【Return Value】

【Functional Description】

Sets ISP exposure attributes, including parameters for manual and auto exposure modes. When calling the interface, the hbn_isp_exposure_attr_t structure must be configured with the current AE mode (manual/auto) and corresponding settings (manual_attr/auto_attr).

【Notes】

Ensure that the input parameters are within valid ranges; otherwise, the setting may fail.

【Compatibility】

Hardware: X5.

5.7.4.4. hbn_isp_get_exposure_attr

【Function Declaration】

int32_t hbn_isp_get_exposure_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: ISP vnode handle.

  • [OUT] hbn_isp_exposure_attr_t *p_attr: Pointer to the ISP exposure attribute structure.

【Return Value】

【Functional Description】

Retrieves ISP exposure attributes. The retrieved parameter isp_mode is currently unavailable; both manual_attr and auto_attr can be retrieved simultaneously.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.5. hbn_isp_set_hdr_exposure_attr

【Function Declaration】

int32_t hbn_isp_set_hdr_exposure_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_hdr_exposure_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: ISP vnode handle.

  • [IN] hbn_isp_hdr_exposure_attr_t *p_attr: Pointer to the ISP HDR exposure attribute structure.

【Return Value】

【Functional Description】

Sets parameters related to ISP HDR functionality. When calling the interface, the hbn_isp_hdr_exposure_attr_t structure must be configured with the current HDR mode (manual/auto) and corresponding settings (manual_attr/auto_attr).

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.6. hbn_isp_get_hdr_exposure_attr

【Function Declaration】

int32_t hbn_isp_get_hdr_exposure_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_hdr_exposure_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: ISP vnode handle.

  • [OUT] hbn_isp_hdr_exposure_attr_t *p_attr: Pointer to the ISP HDR exposure attribute structure.

【Return Value】

【Functional Description】

Retrieves ISP HDR function parameters. The retrieved parameter isp_mode is currently unavailable; both manual_attr and auto_attr can be retrieved simultaneously.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.7. hbn_isp_set_awb_attr

【Function Declaration】

int32_t hbn_isp_set_awb_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_awb_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: ISP vnode handle.

  • [IN] hbn_isp_awb_attr_t *p_attr: Pointer to the ISP auto-white balance attribute structure.

【Return Value】

【Functional Description】

Sets ISP auto-white balance attributes, including parameters for manual and auto white balance modes. When calling the interface, the hbn_isp_awb_attr_t structure must be configured with the current AWB mode (manual/auto) and corresponding settings (manual_attr/auto_attr).

【Notes】

Ensure that the input parameters are within valid ranges; otherwise, the setting may fail.

【Compatibility】

Hardware: X5.

5.7.4.8. hbn_isp_get_awb_attr

【Function Declaration】

int32_t hbn_isp_get_awb_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_awb_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: ISP vnode handle.

  • [OUT] hbn_isp_awb_attr_t *p_attr: Pointer to the ISP auto-white balance attribute structure.

【Return Value】

【Functional Description】

Retrieves ISP auto-white balance attributes. The retrieved parameter isp_mode is currently unavailable; both manual_attr and auto_attr can be retrieved simultaneously.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.9. hbn_isp_get_awb_gain_by_temper

【Function Declaration】

int32_t hbn_isp_get_awb_gain_by_temper(hbn_vnode_handle_t vnode_fd, uint32_t temper, hbn_isp_awb_gain_t *p_awb_gain)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: ISP vnode handle.

  • [IN] uint32_t temper: Temperature value.

  • [OUT] hbn_isp_awb_gain_t *p_awb_gain: Pointer to the ISP white balance gain structure.

【Return Value】

【Functional Description】

Retrieves the ISP auto-white balance gain based on color temperature.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.10. hbn_isp_set_ae_zone_weight_attr

【Function Declaration】

int32_t hbn_isp_set_ae_zone_weight_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ae_zone_weight_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: ISP vnode handle.

  • [IN] hbn_isp_ae_zone_weight_attr_t *p_attr: Pointer to the ISP AE zone weight attribute structure.

【Return Value】

【Functional Description】

Sets the ISP AE zone weight attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.11. hbn_isp_get_ae_zone_weight_attr

【Function Declaration】

int32_t hbn_isp_get_ae_zone_weight_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ae_zone_weight_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: ISP vnode handle.

  • [OUT] hbn_isp_ae_zone_weight_attr_t *p_attr: Pointer to the ISP AE zone weight attribute structure.

【Return Value】

【Functional Description】

Retrieves the ISP AE zone weight attributes.

【Notes】

None.

【Compatibility】Hardware: X5.

5.7.4.12. hbn_isp_set_af_zone_weight_attr

【Function Declaration】

int32_t hbn_isp_set_af_zone_weight_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_af_zone_weight_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_af_zone_weight_attr_t *p_attr: pointer to the isp af zone weight attribute structure.

【Return Value】

【Function Description】

Set the af zone weight attributes of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.13. hbn_isp_get_af_zone_weight_attr

【Function Declaration】

int32_t hbn_isp_get_af_zone_weight_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_af_zone_weight_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_af_zone_weight_attr_t *p_attr: pointer to the isp af zone weight attribute structure.

【Return Value】

【Function Description】

Get the af zone weight attributes of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.14. hbn_isp_get_ae_statistics

【Function Declaration】

int32_t hbn_isp_get_ae_statistics(hbn_vnode_handle_t vnode_fd, hbn_isp_ae_statistics_t *p_data)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_ae_statistics_t *p_data: pointer to the isp ae statistics data structure.

【Return Value】

【Function Description】

Get the ae statistics data of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.15. hbn_isp_get_awb_statistics

【Function Declaration】

int32_t hbn_isp_get_awb_statistics(hbn_vnode_handle_t vnode_fd, hbn_isp_awb_statistics_t *p_data)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_awb_statistics_t *p_data: pointer to the isp awb statistics data structure.

【Return Value】

【Function Description】

Get the awb statistics data of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.16. hbn_isp_get_af_statistics

【Function Declaration】

int32_t hbn_isp_get_af_statistics(hbn_vnode_handle_t vnode_fd, hbn_isp_af_statistics_t *p_data)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_af_statistics_t *p_data: pointer to the isp af statistics data structure.

【Return Value】

【Function Description】

Get the af statistics data of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.17. hbn_isp_set_exposure_table

【Function Declaration】

int32_t hbn_isp_set_exposure_table(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_table_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_exposure_table_t *p_attr: pointer to the isp exposure table structure.

【Return Value】

【Function Description】

Set the exposure table of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.18. hbn_isp_get_exposure_table

【Function Declaration】

int32_t hbn_isp_get_exposure_table(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_table_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_exposure_table_t *p_attr: pointer to the isp exposure table structure.

【Return Value】

【Function Description】

Get the exposure table of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.19. hbn_isp_set_exposure_roi

【Function Declaration】

int32_t hbn_isp_set_exposure_roi(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_roi_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_exposure_roi_t *p_attr: pointer to the isp exposure roi structure.

【Return Value】

【Function Description】

Set the exposure roi of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.20. hbn_isp_get_exposure_roi

【Function Declaration】

int32_t hbn_isp_get_exposure_roi(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_roi_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_exposure_roi_t *p_attr: pointer to the isp exposure roi structure.

【Return Value】

【Function Description】

Get the exposure roi of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.21. hbn_isp_get_lines_persecond

【Function Declaration】

int32_t hbn_isp_get_lines_persecond(hbn_vnode_handle_t vnode_fd, uint32_t *lines)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] uint32_t *lines: pointer to the number of lines per second.

【Return Value】

【Function Description】

Get the number of lines per second of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.22. hbn_isp_set_2dnr_attr

【Function Declaration】

int32_t hbn_isp_set_2dnr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_2dnr_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_2dnr_attr_t *p_attr: pointer to the isp 2dnr attribute structure.

【Return Value】

【Function Description】

Set the 2dnr attributes of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.23. hbn_isp_get_2dnr_attr

【Function Declaration】

int32_t hbn_isp_get_2dnr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_2dnr_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_2dnr_attr_t *p_attr: pointer to the isp 2dnr attribute structure.

【Return Value】

【Function Description】

Get the 2dnr attributes of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.24. hbn_isp_set_3dnr_attr

【Function Declaration】

int32_t hbn_isp_set_3dnr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_3dnr_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_3dnr_attr_t *p_attr: pointer to the isp 3dnr attribute structure.

【Return Value】

【Function Description】

Set the 3dnr attributes of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.25. hbn_isp_get_3dnr_attr

【Function Declaration】

int32_t hbn_isp_get_3dnr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_3dnr_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_3dnr_attr_t *p_attr: pointer to the isp 3dnr attribute structure.

【Return Value】

【Function Description】

Get the 3dnr attributes of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.26. hbn_isp_get_lsc_attr

【Function Declaration】

int32_t hbn_isp_get_lsc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_lsc_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_lsc_attr_t *p_attr: pointer to the isp lsc attribute structure.

【Return Value】

【Function Description】

Get the lsc attributes of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.27. hbn_isp_set_lsc_attr

【Function Declaration】

int32_t hbn_isp_set_lsc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_lsc_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_lsc_attr_t *p_attr: pointer to the isp lsc attribute structure.

【Return Value】

【Function Description】

Set the lsc attributes of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.28. hbn_isp_set_awb_preference_attr

【Function Declaration】

int32_t hbn_isp_set_awb_preference_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_awb_preference_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_awb_preference_attr_t *p_attr: pointer to the isp awb preference attribute structure.

【Return Value】

【Function Description】

Set the awb preference attributes of the isp.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.29. hbn_isp_get_awb_preference_attr

【Function Declaration】

int32_t hbn_isp_get_awb_preference_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_awb_preference_attr_t *p_attr);

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_awb_preference_attr_t *p_attr: pointer to the ISP AWB preference attribute structure.

【Return Value】

【Function Description】

Get ISP AWB preference attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.30. hbn_isp_get_wdr_attr

【Function Declaration】

int32_t hbn_isp_get_wdr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_wdr_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_wdr_attr_t *p_attr: pointer to the ISP WDR attribute structure.

【Return Value】

【Function Description】

Get ISP WDR attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.31. hbn_isp_set_wdr_attr

【Function Declaration】

int32_t hbn_isp_set_wdr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_wdr_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_wdr_attr_t *p_attr: pointer to the ISP WDR attribute structure.

【Return Value】

【Function Description】

Set ISP WDR attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.32. hbn_isp_set_ccm_attr

【Function Declaration】

int32_t hbn_isp_set_ccm_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ccm_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_ccm_attr_t *p_attr: pointer to the ISP CCM attribute structure.

【Return Value】

【Function Description】

Set ISP CCM attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.33. hbn_isp_get_ccm_attr

【Function Declaration】

int32_t hbn_isp_get_ccm_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ccm_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_ccm_attr_t *p_attr: pointer to the ISP CCM attribute structure.

【Return Value】

【Function Description】

Get ISP CCM attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.34. hbn_isp_set_gc_attr

【Function Declaration】

int32_t hbn_isp_set_gc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_gc_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_gc_attr_t *p_attr: pointer to the ISP GC attribute structure.

【Return Value】

【Function Description】

Set ISP GC attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.35. hbn_isp_get_gc_attr

【Function Declaration】

int32_t hbn_isp_get_gc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_gc_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_gc_attr_t *p_attr: pointer to the ISP GC attribute structure.

【Return Value】

【Function Description】

Get ISP GC attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.36. hbn_isp_set_dmsc_attr

【Function Declaration】

int32_t hbn_isp_set_dmsc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_dmsc_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_dmsc_attr_t *p_attr: pointer to the ISP DMSC attribute structure.

【Return Value】

【Function Description】

Set ISP DMSC attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.37. hbn_isp_get_dmsc_attr

【Function Declaration】

int32_t hbn_isp_get_dmsc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_dmsc_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_dmsc_attr_t *p_attr: pointer to the ISP DMSC attribute structure.

【Return Value】

【Function Description】

Get ISP DMSC attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.38. hbn_isp_set_ee_attr

【Function Declaration】

int32_t hbn_isp_set_ee_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ee_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_ee_attr_t *p_attr: pointer to the ISP EE attribute structure.

【Return Value】

【Function Description】

Set ISP EE attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.39. hbn_isp_get_ee_attr

【Function Declaration】

int32_t hbn_isp_get_ee_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ee_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_ee_attr_t *p_attr: pointer to the ISP EE attribute structure.

【Return Value】

【Function Description】

Get ISP EE attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.40. hbn_isp_set_cproc_attr

【Function Declaration】

int32_t hbn_isp_set_cproc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_cproc_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_cproc_attr_t *p_attr: pointer to the ISP CPROC attribute structure.

【Return Value】

【Function Description】

Set ISP CPROC attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.41. hbn_isp_get_cproc_attr

【Function Declaration】

int32_t hbn_isp_get_cproc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_cproc_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_cproc_attr_t *p_attr: pointer to the ISP CPROC attribute structure.

【Return Value】

【Function Description】

Get ISP CPROC attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.42. hbn_isp_get_dpcc_attr

【Function Declaration】

int32_t hbn_isp_get_dpcc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_dpcc_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [OUT] hbn_isp_dpcc_attr_t *p_attr: pointer to the ISP DPCC attribute structure.

【Return Value】

【Function Description】

Get ISP DPCC attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.43. hbn_isp_set_dpcc_attr

【Function Declaration】

int32_t hbn_isp_set_dpcc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_dpcc_attr_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_dpcc_attr_t *p_attr: pointer to the ISP DPCC attribute structure.

【Return Value】

【Function Description】

Set ISP DPCC attributes.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.44. hbn_isp_set_pattern_attr

【Function Declaration】

int32_t hbn_isp_set_pattern_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_pattern_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] hbn_isp_pattern_t *p_attr: Bayer Pattern.

【Return Value】

【Function Description】

Set ISP Bayer pattern.

【Notes】

None.

【Compatibility】

Hardware: X5.

5.7.4.45. hbn_isp_cal_gain_by_temp

【Function Declaration】

int32_t hbn_isp_cal_gain_by_temp(hbn_vnode_handle_t vnode_fd, uint32_t color_temp, int32_t shift, hbn_isp_awb_gain_t *p_attr)

【Parameter Description】

  • [IN] hbn_vnode_handle_t vnode_fd: isp vnode handle.

  • [IN] uint32_t color_temp: Color temperature in Kelvin, range: [1500, 10000].

  • [IN] int32_t shift: Position and distance of the white point relative to the Planckian curve, range: [-64, 64].

  • [OUT] hbn_isp_awb_gain_t *p_attr: R, Gr, Gb, B channel gains under the preset color temperature.

【Return Value】

【Function Description】

Calculate white balance gain coefficients at a specific color temperature.

【Notes】

The accuracy of preset color temperature gain calculation depends on white balance calibration parameters. Therefore, calibration must be completed and at least three calibration points must be loaded into the ISP before calling this interface. If the input color temperature exceeds the calibrated maximum or minimum, the gain will be calculated using the closest calibrated temperature.
The shift parameter determines the position of the light source relative to the Planckian curve: a negative shift places the source to the left of the curve, resulting in slightly reddish white balance; a positive shift places it to the right, resulting in slightly greenish white balance.

【Compatibility】

Hardware: X5.

5.7.5. Data Structures

5.7.5.1. hbn_isp_param_range_t

Name Type Min Max Default Description Required
min float - - - Parameter minimum value Yes
max float - - - Parameter maximum value Yes

5.7.5.2. hbn_isp_zone_weight_t

Name Type Min Max Default Description Required
x uint32_t - - - Zone X coordinate Yes
y uint32_t - - - Zone Y coordinate Yes
h uint32_t - - - Zone height Yes
w uint32_t - - - Zone width Yes
weight float - - - Zone weight Yes

5.7.5.3. hbn_windows_t

Name Type Min Max Default Description Required
h_offset uint32_t - - - Horizontal start offset Yes
v_offset uint32_t - - - Vertical start offset Yes
width uint32_t - - - Width Yes
height uint32_t - - - Height Yes

5.7.5.4. hbn_isp_roi_t

Name Type Min Max Default Description Required
window hbn_windows_t - - - ROI window Yes
weight float - - - Weight Yes

5.7.5.5. hbn_isp_exposure_auto_attr_t

Name Type Min Max Default Description Required
exp_time_range hbn_isp_param_range_t - - - Exposure time range (seconds), can be obtained via get interface, currently cannot be set Yes
again_range hbn_isp_param_range_t - - - Analog gain range, can be obtained via get interface, currently cannot be set Yes
dgain_range hbn_isp_param_range_t - - - Digital gain range, can be obtained via get interface, currently cannot be set Yes
isp_dgain_range hbn_isp_param_range_t - - - ISP digital gain range, can be obtained via get interface, currently cannot be set Yes
speed_over float - - - Bright to dark speed Yes
speed_under float - - - Dark to bright speed Yes
dampover_gain float - - - Acceleration convergence control parameter Yes
dampover_ratio float - - - Acceleration convergence control parameter Yes
dampunder_gain float - - - Acceleration convergence control parameter Yes
dampunder_ratio float - - - Acceleration convergence control parameter Yes
tolerance float - - - Deviation tolerance Yes
target float - - - Target brightness value Yes
anti_flicker_status uint32_t - - - Anti-flicker status Yes
flicker_freq float - - - Flicker frequency Yes
mode hbn_isp_auto_exposure_mode_e - - - Auto exposure mode.
HBN_ISP_AUTO_EXP_MODE_ADAPTIVE - target adaptive mode;
HBN_ISP_AUTO_EXP_MODE_FIX - target fixed mode
Yes

5.7.5.6. hbn_isp_exposure_manual_attr_t

Name Type Min Max Default Description Required
exp_time float - - - Exposure time (seconds) Yes
again float - - - Analog gain Yes
dgain float - - - Digital gain Yes
ispgain float - - - ISP gain Yes
ae_exp float - - - Luma Statistics Yes
cur_lux uint32_t - - - Current ambient illuminance, not supported Yes
frame_id uint32_t - - - Frame ID Yes
timestamps uint64_t - - - Timestamp Yes

5.7.5.7. hbn_isp_exposure_version_e

Name Type Min Max Default Description Required
HBN_ISP_EXP_V0 enum - - - Exposure version 0 Yes
HBN_ISP_EXP_V1 enum - - - Exposure version 1 Yes
HBN_ISP_EXP_V2 enum - - - Exposure version 2 Yes

5.7.5.8. hbn_isp_auto_exposure_mode_e

Name Type Min Max Default Description Required
HBN_ISP_AUTO_EXP_MODE_ADAPTIVE enum - - - Adaptive auto exposure mode Yes
HBN_ISP_AUTO_EXP_MODE_FIX enum - - - Fixed auto exposure mode Yes

5.7.5.9. hbn_isp_exposure_attr_t

Name Type Min Max Default Description Required
version hbn_isp_exposure_version_e - - - Version information No
lock_state uint32_t - - - Lock status Yes
mode hbn_isp_mode_e - - - HBN_ISP_MODE_AUTO - auto mode
HBN_ISP_MODE_MANUAL - manual mode
Yes
auto_attr hbn_isp_exposure_auto_attr_t - - - Parameters in auto mode Yes
manual_attr hbn_isp_exposure_manual_attr_t - - - Parameters in manual mode Yes

5.7.5.10. hbn_isp_hdr_exposure_version_e

Name Type Min Max Default Description Required
HBN_ISP_HDR_EXP_V0 enum - - - HDR exposure version 0 Yes
HBN_ISP_HDR_EXP_V1 enum - - - HDR exposure version 1 Yes
HBN_ISP_HDR_EXP_V2 enum - - - HDR exposure version 2 Yes

5.7.5.11. hbn_isp_hdr_exposure_auto_attr_t

Name Type Min Max Default Description Required
exp_ratio float[4] - - - Exposure ratio array Yes
exp_ratio_range hbn_isp_param_range_t - - - Exposure ratio range, currently not supported Yes

5.7.5.12. hbn_isp_hdr_exposure_manual_attr_t

Name Type Min Max Default Description Required
exp_time float - - - Exposure time (seconds) Yes
again float - - - Analog gain Yes
dgain float - - - Digital gain Yes
ispgain float - - - ISP gain Yes
ae_exp uint32_t - - - Luma Statistics, currently not supported Yes

5.7.5.13. hbn_isp_hdr_exposure_attr_t

Name Type Min Max Default Description Required
version hbn_isp_hdr_exposure_version_e - - - Version information No
mode hbn_isp_mode_e - - - HBN_ISP_MODE_AUTO - auto mode
HBN_ISP_MODE_MANUAL - manual mode
Yes
auto_attr hbn_isp_hdr_exposure_auto_attr_t - - - Parameters in auto mode Yes
manual_attr hbn_isp_hdr_exposure_manual_attr_t - - - Parameters in manual mode Yes

5.7.5.14. hbn_isp_awb_version_e

Name Type Min Max Default Description Required
HBN_ISP_WB_V0 enum - - - White balance version 0 Yes
HBN_ISP_WB_V1 enum - - - White balance version 1 Yes

5.7.5.15. hbn_isp_awb_gain_t

Name Type Min Max Default Description Required
rgain float - - - R channel gain Yes
grgain float - - - GR channel gain Yes
gbgain float - - - GB channel gain Yes
bgain float - - - B channel gain Yes

5.7.5.16. hbn_isp_awb_auto_attr_t

Name Type Min Max Default Description Required
use_damping uint32_t 0 1 - Enable convergence control Yes
use_manual_damp_coff uint32_t 0 1 - Use fixed convergence coefficient Yes
manual_damp_coff float 0.1 0.999 - Convergence coefficient Yes
lock_tolerance float 0.0 0.2 - Tolerance for entering locked state Yes
unlock_tolerance float 0.0 0.2 - Tolerance for exiting locked state Yes
rg_strength uint32_t - - - R channel strength (set WB preference for R channel) (Not Supported) Yes
bg_strength uint32_t - - - B channel strength (set WB preference for B channel) (Not Supported) Yes
gain hbn_isp_awb_gain_t - - - AWB gain value (Get Only) Yes
temper uint32_t - - - Color temperature (Get Only) Yes

5.7.5.17. hbn_isp_awb_manual_attr_t

Name Type Min Max Default Description Required
gain hbn_isp_awb_gain_t - - - Manually set AWB gain value Yes
temper uint32_t - - - Color temperature Yes

5.7.5.18. hbn_isp_awb_attr_t

Name Type Min Max Default Description Required
version hbn_isp_awb_version_e - - - Version information No
lock_state uint32_t - - - Convergence status Yes
mode hbn_isp_mode_e - - - HBN_ISP_MODE_AUTO - auto mode
HBN_ISP_MODE_MANUAL - manual mode
Yes
auto_attr hbn_isp_awb_auto_attr_t - - - Parameters in auto mode Yes
manual_attr hbn_isp_awb_manual_attr_t - - - Parameters in manual mode Yes

5.7.5.19. hbn_isp_ae_zone_weight_attr_t

Name Type Min Max Default Description Required
version hbn_isp_ae_zone_weight_version_e - - - Version information No
weight hbn_isp_zone_weight_t[HBN_ISP_AE_ZONE_GRID_ITEMS] - - - AE zone weight array Yes

5.7.5.20. hbn_isp_af_zone_weight_attr_t

Name Type Min Max Default Description Required
version hbn_isp_af_zone_weight_version_e - - - Version information No
attr union { isp_af_zone_weight_func_a_attr_t func_a_attr; } - - - AF zone weight attribute Yes

5.7.5.21. hbn_isp_exp_datatype_t

Name Type Min Max Default Description Required
ISP_EXP_8BIT_DATA enum - - - EXP 8-bit data Yes
ISP_EXP_16BIT_DATA enum - - - EXP 16-bit data Yes
ISP_EXP_24BIT_DATA enum - - - EXP 24-bit data Yes
ISP_BIT_DATA_MAX enum - - - Data type maximum Yes

5.7.5.22. hbn_isp_ae_statistics_t

Name Type Min Max Default Description Required
expStat uint32_t[HBN_ISP_AE_ZONE_GRID_ITEMS * HBN_ISP_PIXEL_CHANNEL] - - - AE statistics array Yes
datatype hbn_isp_exp_datatype_t - - - Data type Yes
frame_id uint32_t - - - Frame ID Yes
timestamps uint64_t - - - Timestamp Yes

5.7.5.23. hbn_isp_awb_statistics_t

Name Type Min Max Default Description Required
awbStat uint32_t[HBN_ISP_AE_ZONE_GRID_ITEMS * HBN_ISP_PIXEL_CHANNEL] - - - AWB statistics array Yes
datatype hbn_isp_exp_datatype_t - - - Data type Yes
frame_id uint32_t - - - Frame ID Yes
timestamps uint64_t - - - Timestamp Yes

5.7.5.24. hbn_isp_af_statistics_t

Name Type Min Max Default Description Required
sharpnessLowPass uint32_t[HBN_ISP_AFM_BLOCK_NUM] - - - Sharpness array after low-pass filter Yes
sharpnessHighPass uint32_t[HBN_ISP_AFM_BLOCK_NUM] - - - Sharpness array after high-pass filter Yes
histLowData uint32_t[HBN_ISP_AFM_BLOCK_NUM] - - - Low-frequency histogram data array Yes
histHighData uint32_t[HBN_ISP_AFM_BLOCK_NUM] - - - High-frequency histogram data array Yes
frame_id uint32_t - - - Frame ID Yes

5.7.5.25. hbn_isp_table_t

Name Type Min Max Default Description Required
exposure_time float - - - Exposure time (seconds) Yes
again float - - - Analog gain Yes
dgain float - - - Digital gain Yes
isp_gain float - - - ISP gain Yes

5.7.5.26. hbn_isp_exposure_table_t

Name Type Min Max Default Description Required
exp_table hbn_isp_table_t[HBN_ISP_EXP_TABLE_NUM] - - - Exposure table array Yes
valid_num uint8_t - - - Number of valid entries Yes

5.7.5.27. hbn_isp_exposure_roi_t

Name Type Min Max Default Description Required
roi_num uint32_t 0 HBN_ISP_ROI_WINDOWS_MAX - Number of ROI regions Yes
roi_weight float 0 1 - ROI weight Yes
roi_window hbn_isp_roi_t[HBN_ISP_ROI_WINDOWS_MAX] - - - ROI window array Yes

5.7.5.28. hbn_isp_2dnr_curve_t

Name Type Min Max Default Description Required
ary_x uint16_t[HBN_ISP_2DNR_CURVE_SIZE] 0 4095 - Luma curve X-axis array Yes
ary_y uint16_t[HBN_ISP_2DNR_CURVE_SIZE] - - - Luma curve Y-axis array Yes
ary_px uint16_t[HBN_ISP_2DNR_CURVE_SIZE] - - - Luma curve Delta X array Yes
interp_mode uint32_t - - - Interpolation mode Yes

5.7.5.29. hbn_isp_2dnr_motion_config_t

Name Type Min Max Default Description Required
motion_anchor_x uint16_t[HBN_ISP_2DNR_MOTION_SIZE] 0 1024 - Motion anchor X-axis array Yes
curve_cfg hbn_isp_2dnr_curve_t - - - 2DNR curve configuration parameter Yes

5.7.5.30. hbn_isp_2dnr_manual_attr_t

Name Type Min Max Default Description Required
blend_static float 0 100 - Weight of static pixel spatial NR result in final output Yes
blend_motion float 0 100 - Weight of 100% motion pixel spatial NR result in final output Yes
blend_slope float 0 32 - Blending slope, larger value means higher weight of NLM image Yes
vst_factor float 1 1000 - VST factor Yes
sigma_scale float[HBN_ISP_2DNR_SIGMA_NUM] 0.001 100 - Scaling value for Sigma Yes
sigma_factor_mul float[HBN_ISP_2DNR_SIGMA_NUM] 0.01 10 - Sigma factor multiplier Yes
sigma_factor_motion_max uint16_t 1 1024 - Maximum motion Sigma factor Yes
sigma_factor_motion_min uint16_t 0 1024 - Minimum motion Sigma factor Yes
sigma_offset uint16_t 0 4095 - Sigma squared offset Yes
static_detail_thresh uint16_t[HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] 0 4095 - Static detail threshold array Yes
static_detail_boost_thresh uint16_t[HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] 0 4095 - Static detail boost threshold array Yes
static_detail_boost float[HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] 1 4 - Static detail boost value array Yes
static_detail_clip_thresh uint16_t[HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] 0 4095 - Static detail clip threshold array Yes
moving_detail_thresh uint16_t[HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] 0 4095 - Moving detail threshold array Yes
moving_detail_boost_thresh uint16_t[HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] 0 4095 - Moving detail boost threshold array Yes
moving_detail_boost float[HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] 1 4 - Moving detail boost value array Yes
moving_detail_clip_thresh uint16_t[HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] 0 4095 - Moving detail clip threshold array Yes
static_factor float[HBN_ISP_2DNR_SIGMA_NUM] 0.01 1 - Static factor array Yes
luma_curve_cfg hbn_isp_2dnr_curve_t - - - Luma curve configuration Yes
lsc_comp_curve_cfg hbn_isp_2dnr_curve_t - - - LSC comparison curve configuration Yes
motion_cfg hbn_isp_2dnr_motion_config_t - - - Motion configuration Yes

5.7.5.31. hbn_isp_2dnr_auto_attr_t

Name Type Min Max Default Description Required
auto_level uint8_t 1 20 - Auto level Yes
gain float[HBN_ISP_AUTO_LEVEL_MAX] - - - 2DNR gain value array Yes
vst_factor float[HBN_ISP_AUTO_LEVEL_MAX] 1 1000 - VST factor array Yes
blend_static float[HBN_ISP_AUTO_LEVEL_MAX] 0 100 - Weight array of static pixel spatial NR result in final output Yes
blend_motion float[HBN_ISP_AUTO_LEVEL_MAX] 0 100 - Weight array of 100% motion pixel spatial NR result in final output Yes
blend_slope float[HBN_ISP_AUTO_LEVEL_MAX] 0 32 - Blending slope array, larger value means higher weight of NLM image Yes
sigma_offset uint16_t[HBN_ISP_AUTO_LEVEL_MAX] 0 4095 - Sigma offset value array Yes
luma_curve_y uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_CURVE_SIZE] 0 4095 - Luma curve Y-axis array Yes
lsc_comp_curve_y uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_CURVE_SIZE] - - - LSC comparison curve Y-axis array Yes
motion_fac_curve_y uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_CURVE_SIZE] - - - Motion factor curve Y-axis array Yes
motion_anchor_x uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_MOTION_SIZE] 0 1024 - Motion anchor X-axis array Yes
static_detail_thresh uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] 0 4095 - Static detail threshold array Yes
static_detail_boost_thresh uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] 0 4095 - Static detail boost threshold array Yes
static_detail_boost float[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] 1 4 - Static detail boost value array Yes
static_detail_clip_thresh uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] 0 4095 - Static detail clip threshold array Yes
moving_detail_thresh uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] 0 4095 - Moving detail threshold array Yes
moving_detail_boost_thresh uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] 0 4095 - Moving detail boost threshold array Yes
moving_detail_boost float[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] 1 4 - Moving detail boost value array Yes
moving_detail_clip_thresh uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] 0 4095 - Moving detail clip threshold array Yes
sigma_scale float[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_SIGMA_NUM] 0.001 100 - Sigma scaling value array Yes
static_factor float[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_SIGMA_NUM] 0.01 1 - Static factor array Yes
sigma_factor_mul float[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_SIGMA_NUM] 0.01 10 - Sigma factor multiplier array Yes
sigma_factor_motion_max uint16_t[HBN_ISP_AUTO_LEVEL_MAX] 1 1024 - Maximum motion Sigma factor array Yes

5.7.5.32. hbn_isp_2dnr_attr_t

Name Type Min Max Default Description Required
mode hbn_isp_mode_e - - - Operation mode Yes
manual_attr hbn_isp_2dnr_manual_attr_t - - - Manual configuration attributes Yes
auto_attr hbn_isp_2dnr_auto_attr_t - - - Auto configuration attributes Yes

5.7.5.33. hbn_isp_3dnr_noise_model_t

Name Type Min Max Default Description Required
input_bits uint8_t 20 24 - Input bit depth Yes
fix_curve_start uint16_t 0 4096 - Start to fix curve Yes
noisemodel_a double 0.1 100 - Noise model A parameter Yes
noisemodel_b double 0.1 10000 - Noise model B parameter Yes
bls_exp uint32_t[HBN_ISP_3DNR_BLS_EXP_NUM] - - - BLS exposure array Yes

5.7.5.34. hbn_isp_3dnr_manual_attr_t

Name Type Min Max Default Description Required
vst_factor double 1 1000 - VST factor Yes
tnr_strength uint8_t 0 128 - TNR strength threshold Yes
tnr_strength2 uint8_t 0 128 - TNR strength 2 threshold Yes
filter_len uint8_t 1 99 - IIR filter length for reference frame Yes
filter_len2 uint8_t 1 99 - IIR filter length for motion frame Yes
motion_smooth_factor double 0.1 5 - Motion smoothing factor Yes
range_h hbn_isp_3dnr_range_dilate_t - - - Set motion detection window size (horizontal) Yes
sad_weight uint8_t 0 16 - Motion difference weight (SAD+mean) Yes
diff_type uint32_t 0 1 - Difference type Yes
sqr_diff_factor uint8_t 0 10 - Squared difference factor Yes
motion_smooth_lvl uint8_t 0 1 - Motion smoothing level Yes
dilate_h hbn_isp_3dnr_range_dilate_t - - - Set motion dilation window size (horizontal) Yes
noise_level uint16_t - - - Noise calibration data Yes
thr_motion_slope uint16_t 0 4095 - Threshold gap between static and 100% motion Yes
tnr_luma_curve_x uint16_t[HBN_ISP_3DNR_THR_LUMA_CURVE_NUM] 0 4095 - TNR luma curve X-axis array Yes
tnr_luma_curve_y uint16_t[HBN_ISP_3DNR_THR_LUMA_CURVE_NUM] 0 4095 - TNR luma curve Y-axis array Yes
tnr_motion_slop_y uint16_t[HBN_ISP_3DNR_THR_LUMA_CURVE_NUM] 0 4095 - TNR motion slope Y-axis array Yes
noise_cfg hbn_isp_3dnr_noise_model_t - - - 3DNR noise model configuration Yes

5.7.5.35. hbn_isp_3dnr_range_dilate_t

Name Type Min Max Default Description Required
HBN_ISP_3DNR_RANGE_3 enum - - - Dilation range: 3 Yes
HBN_ISP_3DNR_RANGE_4 enum - - - Dilation range: 6 Yes

5.7.5.36. hbn_isp_3dnr_auto_attr_t

Name Type Min Max Default Description Required
auto_level uint8_t 1 20 - 3DNR auto level Yes
nm_k float 0 100 - Noise model K parameter Yes
nm_p float 0 100 - Noise model P parameter Yes
gains float[HBN_ISP_AUTO_LEVEL_MAX] - - - 3DNR gain value array Yes
fix_curve_start uint16_t[HBN_ISP_AUTO_LEVEL_MAX] 0 4096 - fix_curve_start Yes
noisemodel_a double[HBN_ISP_AUTO_LEVEL_MAX] 0.1 100 - Noise model A parameter array Yes
noisemodel_b double[HBN_ISP_AUTO_LEVEL_MAX] 0.1 10000 - Noise model B parameter array Yes
bls_exp uint32_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_3DNR_BLS_EXP_NUM] - - - BLS exposure array Yes
tnr_strength uint8_t[HBN_ISP_AUTO_LEVEL_MAX] 0 128 - TNR strength threshold array Yes
tnr_strength2 uint8_t[HBN_ISP_AUTO_LEVEL_MAX] 0 128 - TNR strength 2 threshold array Yes
filter_len uint8_t[HBN_ISP_AUTO_LEVEL_MAX] 1 99 - IIR filter length for reference frame array Yes
filter_len2 uint8_t[HBN_ISP_AUTO_LEVEL_MAX] 1 99 - IIR filter length for motion frame array Yes
motion_smooth_factor double[HBN_ISP_AUTO_LEVEL_MAX] 0.1 5 - Motion smoothing factor array Yes
range_h hbn_isp_3dnr_range_dilate_t[HBN_ISP_AUTO_LEVEL_MAX] - - - Motion detection window size array (horizontal) Yes
sad_weight uint8_t[HBN_ISP_AUTO_LEVEL_MAX] 0 16 - Motion difference weight array (SAD+mean) Yes
sqr_diff_factor uint8_t[HBN_ISP_AUTO_LEVEL_MAX] 0 10 - Squared difference factor array Yes
motion_smooth_lvl uint8_t[HBN_ISP_AUTO_LEVEL_MAX] 0 1 - Motion smoothing level array Yes
motion_dilate_en uint32_t[HBN_ISP_AUTO_LEVEL_MAX] 0 1 - Motion dilation enable array Yes
dilate_h hbn_isp_3dnr_range_dilate_t[HBN_ISP_AUTO_LEVEL_MAX] - - - Motion dilation window size array (horizontal) Yes
tnr_luma_curve_y uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_3DNR_THR_LUMA_CURVE_NUM] 0 4095 - TNR luma curve Y-axis array Yes
tnr_motion_slop_y uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_3DNR_THR_LUMA_CURVE_NUM] 0 4095 - TNR motion slope Y-axis array Yes

5.7.5.37. hbn_isp_3dnr_attr_t

Name Type Min Max Default Description Required
mode hbn_isp_mode_e - - - Operation mode Yes
manual_attr hbn_isp_3dnr_manual_attr_t - - - Manual configuration attributes Yes
auto_attr hbn_isp_3dnr_auto_attr_t - - - Auto configuration attributes Yes

5.7.5.38. hbn_isp_module_ctrl_t

Name Type Description Required
version hbn_isp_module_version_e Version information No
module isp_module_ctrl_u ISP function control structure Yes

5.7.5.39. isp_af_zone_weight_func_a_attr_t

Name Type Min Max Default Description Required
total_size uint32_t - - - Array valid value size -
weight[15*15] hbn_isp_zone_weight_t - - - Weight array, currently not supported -

5.7.5.40. hbn_lsc_auto_attr_t

Name Type Min Max Default Description Required
auto_level uint8_t 0 HBN_ISO_STRENGTH_NUM - Auto configuration level Yes
gains float32_t 0.0 - - LSC gain coefficient Yes
damping float32_t 0.0 1.0 - Damping coefficient for LSC correction Yes
strength float32_t 0.0 1.0 - LSC correction strength for different ISO levels Yes
inter_mode hbn_lsc_inter_mode_t HBN_LSC_GAIN_INTER HBN_LSC_GAIN_COLOR_TEMP_WEIGHT_INTER - Interpolation mode Yes

5.7.5.41. hbn_lsc_manual_attr_t

Name Type Min Max Default Description Required
matrix uint16_t HBN_ISP_LSC_M_MIN HBN_ISP_LSC_M_MAX - Correction matrix values Yes
x_size uint16_t HBN_ISP_LSC_X_MIN - - Frame divided into 32x32 sectors, sector size in x direction.
The sum of 32 xSize values must exactly match the image width
Yes
y_size uint16_t HBN_ISP_LSC_Y_MIN - - Frame divided into 32x32 sectors, sector size in y direction.
The sum of 16 ySize values must exactly match the image height divided by 2
Yes

5.7.5.42. hbn_isp_lsc_attr_t

Name Type Min Max Default Description Required
mode hbn_isp_mode_e - - - ISP LSC operation mode Yes
manual_attr hbn_lsc_manual_attr_t - - - ISP LSC manual configuration Yes
auto_attr hbn_lsc_auto_attr_t - - - ISP LSC auto configuration Yes

5.7.5.43. hbn_isp_dpcc_manual_attr_t

Name Type Min Max Default Description Required
bpt_enable uint32_t - - - Bad pixel table enable -
bpt_num uint16_t 0 2048 - Bad pixel table number -
bpt_out_mode uint8_t 0 15 - Bad pixel table output mode -
bpt_pos_x[HBN_ISP_DPCC_DP_NUM] uint16_t - - - Bad pixel table X position -
bpt_pos_y[HBN_ISP_DPCC_DP_NUM] uint16_t - - - Bad pixel table Y position -
line_mad_fac[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 63 - Line check for mean absolute difference factor -
line_thresh[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 255 - Line threshold for green or red/blue channel -
methods_set[HBN_ISP_DPCC_MP_TYPE_NUM] uint16_t 0 8191 - DPCC methods enable bits -
out_mode uint8_t 0 15 - Interpolation mode for correction unit -
pg_fac[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 63 - Peak of gradient factor -
rg_fac[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 63 - Rank of gradient factor -
rnd_offs[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 3 - Differential rank offsets for neighbor difference -
rnd_thresh[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 63 - Rank neighbor difference threshold -
ro_limits[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 3 - Rank order limits threshold -
set_use uint8_t 0 15 - Enable DPCC detection -

5.7.5.44. hbn_isp_dpcc_auto_attr_t

Name Type Min Max Default Description Required
auto_level uint8_t 1 20 - DPCC auto level -
gains[HBN_ISP_AUTO_LEVEL_MAX] float - - - DPCC gains -
line_mad_fac[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 63 - Line check for mean absolute difference factor -
line_thresh[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 255 - Line threshold for green or red/blue channel -
methods_set[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_MP_TYPE_NUM] uint16_t 0 8191 - DPCC methods enable bits -
out_mode[HBN_ISP_AUTO_LEVEL_MAX] uint8_t 0 15 - Interpolation mode for correction unit -
pg_fac[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 63 - Peak of gradient factor -
rg_fac[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 63 - Rank of gradient factor -
rnd_offs[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 3 - Differential rank offsets for neighbor difference -
rnd_thresh[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 63 - Rank neighbor difference threshold -
ro_limits[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] uint8_t 0 3 - Rank order limits threshold -
set_use[HBN_ISP_AUTO_LEVEL_MAX] uint8_t 0 15 - Enable DPCC detection -

5.7.5.45. hbn_isp_dpcc_attr_t

Name Type Min Max Default Description Required
mode hbn_isp_mode_e - - - The run mode Yes
manual_attr hbn_isp_dpcc_manual_attr_t - - - DPCC manual configuration Yes
auto_attr hbn_isp_dpcc_auto_attr_t - - - DPCC auto configuration Yes

5.7.5.46. hbn_isp_wdr_attr_t

Name Type Min Max Default Description Required
mode hbn_isp_mode_e - - - The run mode Yes
auto_attr hbn_isp_wdr_auto_attr_t - - - WDR manual configuration Yes
manual_attr hbn_isp_wdr_manual_attr_t - - - WDR auto configuration Yes

5.7.5.47. hbn_isp_ccm_attr_t

Name Type Min Max Default Description Required
manual_attr hbn_isp_ccm_manual_attr_t - - - CCM manual configuration Yes

5.7.5.48. hbn_isp_gc_attr_t

Name Type Min Max Default Description Required
mode hbn_isp_mode_e - - - The run mode Yes
auto_attr hbn_isp_gc_auto_attr_t - - - Gamma correction manual configuration Yes
manual_attr hbn_isp_gc_manual_attr_t - - - Gamma correction manual configuration Yes

5.7.5.49. hbn_isp_dmsc_attr_t

Name Type Min Max Default Description Required
mode hbn_isp_mode_e - - - The run mode Yes
manual_attr hbn_isp_dmsc_manual_attr_t - - - Demosaic manual configuration Yes
auto_attr hbn_isp_dmsc_auto_attr_t - - - Demosaic auto configuration Yes

5.7.5.50. hbn_isp_ee_attr_t

Name Type Min Max Default Description Required
mode hbn_isp_mode_e - - - The run mode Yes
manual_attr hbn_isp_ee_manual_attr_t - - - Edge enhancement manual configuration Yes
auto_attr hbn_isp_ee_auto_attr_t - - - Edge enhancement auto configuration Yes

5.7.5.51. hbn_isp_cproc_attr_t

Name Type Min Max Default Description Required
mode hbn_isp_mode_e - - - The run mode Yes
auto_attr hbn_isp_cproc_auto_attr_t - - - Color processing auto configuration Yes
manual_attr hbn_isp_cproc_manual_attr_t - - - Color processing manual configuration Yes

5.7.5.52. hbn_isp_pattern_t

Name Type Min Max Default Description Required
HBN_ISP_RAW_RGGB enum - - 0 RGGB -
HBN_ISP_RAW_GRBG enum - - 1 GRBG -
HBN_ISP_RAW_GBRG enum - - 2 GBRG -
HBN_ISP_RAW_BGGR enum - - 3 BGGR -

5.7.5.53. hbn_isp_awb_preference_attr_t

Name Type Min Max Default Description Required
gray_preference[HBN_ISP_ILLUPROFILE_NUM] hbn_isp_awb_gray_preference_attr_t - - - Gray scale preference -

5.7.5.54. hbn_isp_awb_gray_preference_attr_t

Name Type Min Max Default Description Required
enable uint32_t - - - Grayscale preference enable -
brightness_level[HBN_ISP_AWB_LIGHT_LEVEL] float - - - Brightness level, must be incremental -
gray_rgain[HBN_ISP_AWB_LIGHT_LEVEL] uint16_t 0 512 - The grayscale of red channel -
gray_bgain[HBN_ISP_AWB_LIGHT_LEVEL] uint16_t 0 512 - The grayscale of blue channel -

5.7.6. Return Value Description

Error Code Macro Definition Description Common Causes and Solutions
0 HBN_STATUS_SUCCESS Success
1 HBN_STATUS_INVALID_NODE Invalid vnode, corresponding vnode not found
2 HBN_STATUS_INVALID_NODETYPE Invalid vnode type, corresponding vnode not found
3 HBN_STATUS_INVALID_HWID Invalid hardware module ID
4 HBN_STATUS_INVALID_CTXID Invalid context ID
5 HBN_STATUS_INVALID_OCHNID Invalid output channel ID
6 HBN_STATUS_INVALID_ICHNID Invalid input channel ID
7 HBN_STATUS_INVALID_FORMAT Invalid format
8 HBN_STATUS_INVALID_NULL_PTR Null pointer
9 HBN_STATUS_INVALID_PARAMETER Invalid parameter, version check failed
10 HBN_STATUS_ILLEGAL_ATTR Invalid attribute
11 HBN_STATUS_INVALID_FLOW Invalid flow, corresponding flow not found
12 HBN_STATUS_FLOW_EXIST Flow already exists
13 HBN_STATUS_FLOW_UNEXIST Flow does not exist
14 HBN_STATUS_NODE_EXIST Node already exists
15 HBN_STATUS_NODE_UNEXIST Node does not exist
16 HBN_STATUS_NOT_CONFIG Reserved
17 HBN_STATUS_CHN_NOT_ENABLED Channel not enabled
18 HBN_STATUS_CHN_ALREADY_ENABLED Channel already enabled
19 HBN_STATUS_ALREADY_BINDED Node already bound
20 HBN_STATUS_NOT_BINDED Node not bound
21 HBN_STATUS_TIMEOUT Timeout
22 HBN_STATUS_NOT_INITIALIZED Not initialized
23 HBN_STATUS_NOT_SUPPORT Channel not supported or not activated
24 HBN_STATUS_NOT_PERM Operation not permitted
25 HBN_STATUS_NOMEM Insufficient memory
26 HBN_STATUS_INVALID_VNODE_FD Invalid node file descriptor
27 HBN_STATUS_INVALID_ICHNID_FD Invalid input channel file descriptor
28 HBN_STATUS_INVALID_OCHNID_FD Invalid output channel file descriptor
29 HBN_STATUS_OPEN_OCHN_FAIL Failed to open output channel
30 HBN_STATUS_OPEN_ICHN_FAIL Failed to open input channel
31 HBN_STATUS_JSON_PARSE_FAIL JSON parsing failed
32 HBN_STATUS_REQ_BUF_FAIL Failed to request buffer
33 HBN_STATUS_QUERY_BUF_FAIL Failed to query buffer information
34 HBN_STATUS_SET_CONTROL_FAIL Failed to set module control or adjustment parameters (e.g., ISP effect parameters)
35 HBN_STATUS_GET_CONTROL_FAIL Failed to get module control or adjustment parameters (e.g., ISP effect parameters)
36 HBN_STATUS_NODE_START_FAIL Failed to start node
37 HBN_STATUS_NODE_STOP_FAIL Failed to stop node
38 HBN_STATUS_NODE_POLL_ERROR Node channel poll error
39 HBN_STATUS_NODE_POLL_TIMEOUT Node channel poll timeout
40 HBN_STATUS_NODE_POLL_FRAME_DROP Frame drop during node channel poll
41 HBN_STATUS_NODE_POLL_HUP File descriptor hung up during node channel poll
42 HBN_STATUS_NODE_ILLEGAL_EVENT Illegal event during node channel poll
43 HBN_STATUS_NODE_DEQUE_ERROR Node channel dequeue buffer error
44 HBN_STATUS_ILLEGAL_BUF_INDEX Invalid buffer index
45 HBN_STATUS_NODE_QUE_ERROR Node channel queue buffer error
46 HBN_STATUS_FLUSH_FRAME_ERROR Node channel frame flush error
47 HBN_STATUS_INIT_BIND_ERROR Error occurred during JSON parsing and binding
48 HBN_STATUS_ADD_NODE_FAIL Failed to add node to flow
49 HBN_STATUS_WRONG_CONFIG_ID System does not support the node ID
50 HBN_STATUS_BIND_NODE_FAIL Error occurred when binding node to flow
51 HBN_STATUS_INVALID_VERSION Mismatch between lower driver module and upper library version
52 HBN_STATUS_GET_VERSION_ERROR Failed to get lower driver module version
53 HBN_STATUS_MEM_INIT_FAIL hbmem memory initialization failed
54 HBN_STATUS_MEM_IMPORT_FAIL hbmem memory import failed
55 HBN_STATUS_MEM_FREE_FAIL hbmem memory release failed
56 HBN_STATUS_SYSFS_OPEN_FAIL Failed to open system file
57 HBN_STATUS_STRUCT_SIZE_NOT_MATCH HAL layer structure size does not match kernel layer
58 HBN_STATUS_RGN_UNEXIST Unable to retrieve corresponding rgn data
59 HBN_STATUS_RGN_INVALID_OPERATION Invalid rgn operation
60 HBN_STATUS_RGN_OPEN_FILE_FAIL Failed to open file in rgn module
128 HBN_STATUS_ERR_UNKNOW Unknown error
0x010008 HBN_STATUS_ISP_INVALID_NULL_PTR Invalid null pointer May have passed a null pointer to a function. Check pointer validity.
0x010009 HBN_STATUS_ISP_INVALID_PARAMETER Invalid parameter Parameter value is invalid or out of range. Validate input.
0x01000A HBN_STATUS_ISP_ILLEGAL_ATTR Illegal attribute Unsupported attribute used. Check if input attributes are valid.
0x01000F HBN_STATUS_ISP_NODE_UNEXIST Node does not exist Attempted to operate on a non-existent node. Check initialization.
0x010022 HBN_STATUS_ISP_SET_CONTROL_FAIL Failed to set control Failed to set control parameter. Check control value and config.
0x010023 HBN_STATUS_ISP_GET_CONTROL_FAIL Failed to get control Failed to get control parameter. Confirm hardware status and retry.
0x010032 HBN_STATUS_ISP_BIND_NODE_FAIL Failed to bind node Error during node binding. Check node validity and binding status.
0x010033 HBN_STATUS_ISP_INVALID_VERSION Invalid version Version mismatch or incompatibility. Check versions and compatibility.
0x010035 HBN_STATUS_ISP_MEM_INIT_FAIL Memory initialization failed Memory allocation or init failed. Check config and resource availability.
0x010036 HBN_STATUS_ISP_MEM_IMPORT_FAIL Memory import failed Memory import failed. Check parameters and paths.
0x010037 HBN_STATUS_ISP_MEM_FREE_FAIL Memory release failed Failed to free memory. Ensure memory was allocated and not freed twice.
0x010038 HBN_STATUS_ISP_SYSFS_OPEN_FAIL Failed to open system file Failed to open system file. Check path and permissions.
0x010080 HBN_STATUS_ISP_2A_ERROR 2A (Auto Focus/Exposure) error Auto focus or exposure failed. Check 2A module functionality.