| #include "samples/risp4ml/common/utils.h" |
| #include "samples/risp4ml/isp_stages/blc.h" |
| |
| static BlcParams blc_params = {.enable = true, |
| .offsets = {2048, 2048, 2048, 2048}}; |
| |
| void set_blc_params(BlcParams* params) { blc_params = *params; } |
| |
| void blc_process(Image* img) { |
| if (!blc_params.enable) return; |
| |
| for (uint16_t y = 0; y < img->height; ++y) { |
| pixel_type_t* line = image_row(img, 0, y); |
| for (uint16_t x = 0; x < img->width; ++x) { |
| BayerIndex bayer_index = GetBayerIndex(kBayerType, x, y); |
| line[x] = SubUnsignedZeroClamp(line[x], blc_params.offsets[bayer_index]); |
| } |
| } |
| } |