fix(isp): disable gamma xcoord error check

This commit is contained in:
Song Ruo Jing
2026-04-21 11:59:13 +08:00
parent 157370bac9
commit dfe86726bf
2 changed files with 39 additions and 1 deletions
@@ -197,6 +197,10 @@ TEST_CASE("ISP AWB driver oneshot vs continuous test", "[isp]")
TEST_ESP_OK(esp_isp_del_processor(isp_proc)); TEST_ESP_OK(esp_isp_del_processor(isp_proc));
} }
/*---------------------------------------------------------------
CCM
---------------------------------------------------------------*/
TEST_CASE("ISP CCM basic function", "[isp]") TEST_CASE("ISP CCM basic function", "[isp]")
{ {
esp_isp_processor_cfg_t isp_config = { esp_isp_processor_cfg_t isp_config = {
@@ -237,6 +241,40 @@ TEST_CASE("ISP CCM basic function", "[isp]")
TEST_ESP_OK(esp_isp_del_processor(isp_proc)); TEST_ESP_OK(esp_isp_del_processor(isp_proc));
} }
/*---------------------------------------------------------------
Gamma
---------------------------------------------------------------*/
static uint32_t test_isp_gamma_basic_curve(uint32_t x)
{
return x / 2;
}
TEST_CASE("ISP gamma basic function", "[isp]")
{
esp_isp_processor_cfg_t isp_config = {
.clk_hz = 80 * 1000 * 1000,
.input_data_source = ISP_INPUT_DATA_SOURCE_CSI,
.input_data_color_type = ISP_COLOR_RAW8,
.output_data_color_type = ISP_COLOR_RGB565,
};
isp_proc_handle_t isp_proc = NULL;
TEST_ESP_OK(esp_isp_new_processor(&isp_config, &isp_proc));
TEST_ESP_OK(esp_isp_enable(isp_proc));
isp_gamma_curve_points_t gamma_pts = {};
TEST_ESP_OK(esp_isp_gamma_fill_curve_points(test_isp_gamma_basic_curve, &gamma_pts));
TEST_ESP_OK(esp_isp_gamma_configure(isp_proc, COLOR_COMPONENT_R, &gamma_pts));
TEST_ESP_OK(esp_isp_gamma_configure(isp_proc, COLOR_COMPONENT_G, NULL));
TEST_ESP_OK(esp_isp_gamma_enable(isp_proc));
// Allow to be called after enabled
TEST_ESP_OK(esp_isp_gamma_configure(isp_proc, COLOR_COMPONENT_B, &gamma_pts));
TEST_ESP_OK(esp_isp_gamma_disable(isp_proc));
TEST_ESP_OK(esp_isp_disable(isp_proc));
TEST_ESP_OK(esp_isp_del_processor(isp_proc));
}
/*--------------------------------------------------------------- /*---------------------------------------------------------------
AE AE
---------------------------------------------------------------*/ ---------------------------------------------------------------*/
@@ -94,7 +94,7 @@ extern "C" {
#define ISP_LL_EVENT_SHARP_MASK (ISP_LL_EVENT_SHARP_FRAME) #define ISP_LL_EVENT_SHARP_MASK (ISP_LL_EVENT_SHARP_FRAME)
#define ISP_LL_EVENT_HIST_MASK (ISP_LL_EVENT_HIST_FDONE) #define ISP_LL_EVENT_HIST_MASK (ISP_LL_EVENT_HIST_FDONE)
#define ISP_LL_EVENT_COLOR_MASK (ISP_LL_EVENT_COLOR_FRAME) #define ISP_LL_EVENT_COLOR_MASK (ISP_LL_EVENT_COLOR_FRAME)
#define ISP_LL_EVENT_ERROR_MASK (ISP_LL_EVENT_DATA_TYPE_ERR | ISP_LL_EVENT_ASYNC_FIFO_OVF | ISP_LL_EVENT_BUF_FULL | ISP_LL_EVENT_HVNUM_SETTING_ERR | ISP_LL_EVENT_DATA_TYPE_SETTING_ERR | ISP_LL_EVENT_MIPI_HNUM_UNMATCH | ISP_LL_EVENT_GAMMA_XCOORD_ERR | ISP_LL_EVENT_CROP_ERR) #define ISP_LL_EVENT_ERROR_MASK (ISP_LL_EVENT_DATA_TYPE_ERR | ISP_LL_EVENT_ASYNC_FIFO_OVF | ISP_LL_EVENT_BUF_FULL | ISP_LL_EVENT_HVNUM_SETTING_ERR | ISP_LL_EVENT_DATA_TYPE_SETTING_ERR | ISP_LL_EVENT_MIPI_HNUM_UNMATCH | ISP_LL_EVENT_CROP_ERR) // Due to a hardware issue (DIG-820), ISP_LL_EVENT_GAMMA_XCOORD_ERR will always get triggered when a gamma update is set on P4, so we will not use it
/*--------------------------------------------------------------- /*---------------------------------------------------------------
AF AF