mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-10 04:43:33 +00:00
feat(isp_ccm): support isp color correction matrix
This commit is contained in:
@@ -118,3 +118,38 @@ TEST_CASE("ISP AWB driver basic function", "[isp]")
|
||||
TEST_ESP_OK(esp_isp_disable(isp_proc));
|
||||
TEST_ESP_OK(esp_isp_del_processor(isp_proc));
|
||||
}
|
||||
|
||||
TEST_CASE("ISP CCM 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));
|
||||
|
||||
esp_isp_ccm_config_t ccm_cfg = {
|
||||
.matrix = {
|
||||
{5.0, 0.0, 0.0},
|
||||
{0.0, 1.0, 0.0},
|
||||
{0.0, 0.0, 1.0}
|
||||
},
|
||||
.saturation = false,
|
||||
};
|
||||
// Out of range case
|
||||
TEST_ESP_ERR(ESP_ERR_INVALID_ARG, esp_isp_ccm_configure(isp_proc, &ccm_cfg));
|
||||
// saturation case
|
||||
ccm_cfg.saturation = true;
|
||||
TEST_ESP_OK(esp_isp_ccm_configure(isp_proc, &ccm_cfg));
|
||||
TEST_ESP_OK(esp_isp_ccm_enable(isp_proc));
|
||||
// Allow to be called after enabled
|
||||
ccm_cfg.matrix[0][0] = -1.1;
|
||||
TEST_ESP_OK(esp_isp_ccm_configure(isp_proc, &ccm_cfg));
|
||||
TEST_ESP_OK(esp_isp_ccm_disable(isp_proc));
|
||||
|
||||
TEST_ESP_OK(esp_isp_disable(isp_proc));
|
||||
TEST_ESP_OK(esp_isp_del_processor(isp_proc));
|
||||
}
|
||||
|
Reference in New Issue
Block a user