mirror of
https://github.com/espressif/esp-idf.git
synced 2026-06-08 14:16:35 +03:00
feat(isp): support AWB driver setting wbgain and subwindow feature
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -164,6 +164,18 @@ esp_err_t esp_isp_awb_controller_start_continuous_statistics(isp_awb_ctlr_t awb_
|
||||
*/
|
||||
esp_err_t esp_isp_awb_controller_stop_continuous_statistics(isp_awb_ctlr_t awb_ctlr);
|
||||
|
||||
/**
|
||||
* @brief Set AWB white balance gain
|
||||
*
|
||||
* @param[in] awb_ctlr AWB controller handle
|
||||
* @param[in] gain AWB white balance gain
|
||||
* @return
|
||||
* - ESP_OK On success
|
||||
* - ESP_ERR_INVALID_ARG Null pointer
|
||||
* - ESP_ERR_INVALID_STATE Driver state is invalid.
|
||||
*/
|
||||
esp_err_t esp_isp_awb_controller_set_wb_gain(isp_awb_ctlr_t awb_ctlr, isp_awb_gain_t gain);
|
||||
|
||||
/**
|
||||
* @brief Event data of callbacks
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -39,14 +39,25 @@ typedef struct {
|
||||
int luminance[ISP_AF_WINDOW_NUM]; ///< Luminance, it refers how luminant an image is
|
||||
} isp_af_result_t;
|
||||
|
||||
/**
|
||||
* @brief ISP AWB subwindow result
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t white_patch_num[ISP_AWB_WINDOW_X_NUM][ISP_AWB_WINDOW_Y_NUM]; ///< white patch number that counted by AWB in the subwindow
|
||||
uint32_t sum_r[ISP_AWB_WINDOW_X_NUM][ISP_AWB_WINDOW_Y_NUM]; ///< The sum of R channel of these white patches
|
||||
uint32_t sum_g[ISP_AWB_WINDOW_X_NUM][ISP_AWB_WINDOW_Y_NUM]; ///< The sum of G channel of these white patches
|
||||
uint32_t sum_b[ISP_AWB_WINDOW_X_NUM][ISP_AWB_WINDOW_Y_NUM]; ///< The sum of B channel of these white patches
|
||||
} isp_awb_subwin_stat_result_t;
|
||||
|
||||
/**
|
||||
* @brief ISP AWB result
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t white_patch_num; ///< white patch number that counted by AWB in the window
|
||||
uint32_t sum_r; ///< The sum of R channel of these white patches
|
||||
uint32_t sum_g; ///< The sum of G channel of these white patches
|
||||
uint32_t sum_b; ///< The sum of B channel of these white patches
|
||||
uint32_t white_patch_num; ///< white patch number that counted by AWB in the window
|
||||
uint32_t sum_r; ///< The sum of R channel of these white patches
|
||||
uint32_t sum_g; ///< The sum of G channel of these white patches
|
||||
uint32_t sum_b; ///< The sum of B channel of these white patches
|
||||
isp_awb_subwin_stat_result_t subwin_result; ///< The AWB subwindow statistics result
|
||||
} isp_awb_stat_result_t;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user