fix(isp): isp_dvp raw->rgb needs a workaround

This commit is contained in:
Song Ruo Jing
2024-12-10 14:39:47 +08:00
parent ff0f9cd649
commit ce22a85ceb
2 changed files with 8 additions and 4 deletions

View File

@ -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_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->out_color_format = out_color_format;
proc->h_res = proc_config->h_res;

View File

@ -361,15 +361,15 @@ static inline bool isp_ll_set_output_data_color_format(isp_dev_t *hw, color_spac
case COLOR_PIXEL_RGB888:
hw->cntl.isp_out_type = 2;
hw->cntl.demosaic_en = 1;
hw->cntl.rgb2yuv_en = 0;
hw->cntl.yuv2rgb_en = 0;
hw->cntl.rgb2yuv_en = 1;
hw->cntl.yuv2rgb_en = 1;
valid = true;
break;
case COLOR_PIXEL_RGB565:
hw->cntl.isp_out_type = 4;
hw->cntl.demosaic_en = 1;
hw->cntl.rgb2yuv_en = 0;
hw->cntl.yuv2rgb_en = 0;
hw->cntl.rgb2yuv_en = 1;
hw->cntl.yuv2rgb_en = 1;
valid = true;
break;
default: