mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-01 19:54:32 +02:00
fix(isp): isp_dvp raw->rgb needs a workaround
This commit is contained in:
@@ -135,6 +135,10 @@ esp_err_t esp_isp_new_processor(const esp_isp_processor_cfg_t *proc_config, isp_
|
|||||||
isp_ll_set_intput_data_h_pixel_num(proc->hal.hw, proc_config->h_res);
|
isp_ll_set_intput_data_h_pixel_num(proc->hal.hw, proc_config->h_res);
|
||||||
isp_ll_set_intput_data_v_row_num(proc->hal.hw, proc_config->v_res);
|
isp_ll_set_intput_data_v_row_num(proc->hal.hw, proc_config->v_res);
|
||||||
|
|
||||||
|
if (out_color_format.color_space == COLOR_SPACE_RGB && proc_config->input_data_source == ISP_INPUT_DATA_SOURCE_DVP) {
|
||||||
|
isp_ll_color_enable(proc->hal.hw, true); // workaround for DIG-474
|
||||||
|
}
|
||||||
|
|
||||||
proc->in_color_format = in_color_format;
|
proc->in_color_format = in_color_format;
|
||||||
proc->out_color_format = out_color_format;
|
proc->out_color_format = out_color_format;
|
||||||
proc->h_res = proc_config->h_res;
|
proc->h_res = proc_config->h_res;
|
||||||
|
@@ -361,15 +361,15 @@ static inline bool isp_ll_set_output_data_color_format(isp_dev_t *hw, color_spac
|
|||||||
case COLOR_PIXEL_RGB888:
|
case COLOR_PIXEL_RGB888:
|
||||||
hw->cntl.isp_out_type = 2;
|
hw->cntl.isp_out_type = 2;
|
||||||
hw->cntl.demosaic_en = 1;
|
hw->cntl.demosaic_en = 1;
|
||||||
hw->cntl.rgb2yuv_en = 0;
|
hw->cntl.rgb2yuv_en = 1;
|
||||||
hw->cntl.yuv2rgb_en = 0;
|
hw->cntl.yuv2rgb_en = 1;
|
||||||
valid = true;
|
valid = true;
|
||||||
break;
|
break;
|
||||||
case COLOR_PIXEL_RGB565:
|
case COLOR_PIXEL_RGB565:
|
||||||
hw->cntl.isp_out_type = 4;
|
hw->cntl.isp_out_type = 4;
|
||||||
hw->cntl.demosaic_en = 1;
|
hw->cntl.demosaic_en = 1;
|
||||||
hw->cntl.rgb2yuv_en = 0;
|
hw->cntl.rgb2yuv_en = 1;
|
||||||
hw->cntl.yuv2rgb_en = 0;
|
hw->cntl.yuv2rgb_en = 1;
|
||||||
valid = true;
|
valid = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
Reference in New Issue
Block a user