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:

Detailed explanation:
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.
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.
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:

Detailed explanation:
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.
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.
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
hbn_isp_set_module_control: Controls whether certain ISP functions are enabled.
hbn_isp_get_module_control: Retrieves the control status of the ISP module.
hbn_isp_set_exposure_attr: Sets ISP exposure attributes.
hbn_isp_get_exposure_attr: Retrieves ISP exposure attributes.
hbn_isp_set_hdr_exposure_attr: Sets ISP HDR exposure attributes.
hbn_isp_get_hdr_exposure_attr: Retrieves ISP HDR exposure attributes.
hbn_isp_set_awb_attr: Sets ISP auto-white balance attributes.
hbn_isp_get_awb_attr: Retrieves ISP auto-white balance attributes.
hbn_isp_get_awb_gain_by_temper: Retrieves ISP auto-white balance gain based on color temperature.
hbn_isp_set_ae_zone_weight_attr: Sets ISP AE zone weight attributes.
hbn_isp_get_ae_zone_weight_attr: Retrieves ISP AE zone weight attributes.
hbn_isp_set_af_zone_weight_attr: Sets ISP AF zone weight attributes.
hbn_isp_get_af_zone_weight_attr: Retrieves ISP AF zone weight attributes.
hbn_isp_get_ae_statistics: Retrieves ISP AE statistics.
hbn_isp_get_awb_statistics: Retrieves ISP AWB statistics.
hbn_isp_get_af_statistics: Retrieves ISP AF statistics.
hbn_isp_set_exposure_table: Sets the ISP AE exposure table.
hbn_isp_get_exposure_table: Retrieves the ISP AE exposure table.
hbn_isp_set_exposure_roi: Sets the ISP exposure ROI.
hbn_isp_get_exposure_roi: Retrieves the ISP exposure ROI.
hbn_isp_get_lines_persecond: Retrieves the number of lines per second for the ISP.
hbn_isp_set_2dnr_attr: Sets the ISP 2DNR attributes.
hbn_isp_get_2dnr_attr: Retrieves the ISP 2DNR attributes.
hbn_isp_set_3dnr_attr: Sets the ISP 3DNR attributes.
hbn_isp_get_3dnr_attr: Retrieves the ISP 3DNR attributes.
hbn_isp_get_lsc_attr: Retrieves the ISP LSC attributes.
hbn_isp_set_lsc_attr: Sets the ISP LSC attributes.
hbn_isp_set_awb_preference_attr: Sets the ISP AWB preference attributes.
hbn_isp_get_awb_preference_attr: Retrieves the ISP AWB preference attributes.
hbn_isp_get_wdr_attr: Retrieves the ISP WDR attributes.
hbn_isp_set_wdr_attr: Sets the ISP WDR attributes.
hbn_isp_set_ccm_attr: Sets the ISP CCM attributes.
hbn_isp_get_ccm_attr: Retrieves the ISP CCM attributes.
hbn_isp_set_gc_attr: Sets the ISP GC attributes.
hbn_isp_get_gc_attr: Retrieves the ISP GC attributes.
hbn_isp_set_dmsc_attr: Sets the ISP DMSC attributes.
hbn_isp_get_dmsc_attr: Retrieves the ISP DMSC attributes.
hbn_isp_set_ee_attr: Sets the ISP EE attributes.
hbn_isp_get_ee_attr: Retrieves the ISP EE attributes.
hbn_isp_set_cproc_attr: Sets the ISP CPROC attributes.
hbn_isp_get_cproc_attr: Retrieves the ISP CPROC attributes.
hbn_isp_get_dpcc_attr: Retrieves the ISP DPCC attributes.
hbn_isp_set_dpcc_attr: Sets the ISP DPCC attributes.
hbn_isp_set_pattern_attr: Sets the ISP Bayer pattern.
hbn_isp_cal_gain_by_temp: Calculates white balance gain coefficients at a specific color temperature.
5.7.4. Interface Description
Note:
When using API interfaces, the corresponding module must be enabled via the tuning JSON; otherwise, calling the get interface may result in incorrect parameters.
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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: negative error code, refer to Return Value Description .
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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】
Success: HBN_STATUS_SUCCESS 0.
Failure: Negative error code, refer to Return Value Description.
【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. |