feat(isp): lsc example

This commit is contained in:
Armando
2024-10-15 17:26:55 +08:00
parent 0e1ee38ae8
commit 14f0f344ea
3 changed files with 23 additions and 2 deletions

View File

@@ -13,7 +13,7 @@ menu "Example DSI Configuration"
endchoice
choice EXAMPLE_MIPI_DSI_DISP_HRES
bool "Set MIPI CSI horizontal resolution"
bool "Set MIPI DSI horizontal resolution"
default EXAMPLE_MIPI_DSI_DISP_HRES_800 if EXAMPLE_LCD_PATTERN_ILI9881C
default EXAMPLE_MIPI_DSI_DISP_HRES_1024 if EXAMPLE_LCD_PATTERN_EK79007
default EXAMPLE_MIPI_DSI_DISP_HRES_800
@@ -30,7 +30,7 @@ menu "Example DSI Configuration"
default 1024 if EXAMPLE_MIPI_DSI_DISP_HRES_1024
choice EXAMPLE_MIPI_DSI_DISP_VRES
bool "Set MIPI CSI vertical resolution"
bool "Set MIPI DSI vertical resolution"
default EXAMPLE_MIPI_DSI_DISP_VRES_1280 if EXAMPLE_LCD_PATTERN_ILI9881C
default EXAMPLE_MIPI_DSI_DISP_VRES_600 if EXAMPLE_LCD_PATTERN_EK79007
default EXAMPLE_MIPI_DSI_DISP_VRES_1280

View File

@@ -14,6 +14,7 @@ This example demonstrates how to use the ISP (image signal processor) to work wi
- ISP Demosaic feature
- ISP GAMMA feature
- ISP Color feature
- ISP LSC feature
## Usage

View File

@@ -347,6 +347,26 @@ void app_main(void)
ESP_ERROR_CHECK(esp_isp_color_configure(isp_proc, &color_config));
ESP_ERROR_CHECK(esp_isp_color_enable(isp_proc));
esp_isp_lsc_gain_array_t gain_array = {};
esp_isp_lsc_config_t lsc_config = {
.gain_array = &gain_array,
};
size_t gain_size = 0;
ESP_ERROR_CHECK(esp_isp_lsc_allocate_gain_array(isp_proc, &gain_array, &gain_size));
isp_lsc_gain_t gain_val = {
.decimal = 204,
.integer = 0,
};
for (int i = 0; i < gain_size; i++) {
gain_array.gain_r[i].val = gain_val.val;
gain_array.gain_gr[i].val = gain_val.val;
gain_array.gain_gb[i].val = gain_val.val;
gain_array.gain_b[i].val = gain_val.val;
}
ESP_ERROR_CHECK(esp_isp_lsc_configure(isp_proc, &lsc_config));
ESP_ERROR_CHECK(esp_isp_lsc_enable(isp_proc));
typedef struct af_task_param_t {
isp_proc_handle_t isp_proc;
esp_sccb_io_handle_t dw9714_io_handle;