diff --git a/rtengine/guidedfilter.cc b/rtengine/guidedfilter.cc index a0c6361c4..26740cdc3 100644 --- a/rtengine/guidedfilter.cc +++ b/rtengine/guidedfilter.cc @@ -132,7 +132,18 @@ void guidedFilter(const array2D &guide, const array2D &src, array2 const auto f_subsample = [=](array2D &d, const array2D &s) -> void { - rescaleBilinear(s, d, multithread); + if (d.width() == s.width() && d.height() == s.height()) { +#ifdef _OPENMP + #pragma omp parallel for if (multithread) +#endif + for (int y = 0; y < s.height(); ++y) { + for (int x = 0; x < s.width(); ++x) { + d[y][x] = s[y][x]; + } + } + } else { + rescaleBilinear(s, d, multithread); + } }; // const auto f_upsample = f_subsample;