From a3b33ac55d4c2a7ec4ba93bc6f8a7104ea371051 Mon Sep 17 00:00:00 2001 From: Ingo Weyrich Date: Tue, 14 Jul 2020 22:18:21 +0200 Subject: [PATCH] Don't crash when using rcd on non RGB raw files, #5849 --- rtengine/rcd_demosaic.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/rtengine/rcd_demosaic.cc b/rtengine/rcd_demosaic.cc index 5a86aec40..6587d3930 100644 --- a/rtengine/rcd_demosaic.cc +++ b/rtengine/rcd_demosaic.cc @@ -48,6 +48,18 @@ namespace rtengine // Tiled version by Ingo Weyrich (heckflosse67@gmx.de) void RawImageSource::rcd_demosaic(size_t chunkSize, bool measure) { + // Test for RGB cfa + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 2; j++) { + if (FC(i, j) == 3) { + // avoid crash + std::cout << "rcd_demosaic supports only RGB Colour filter arrays. Falling back to igv_interpolate" << std::endl; + igv_interpolate(W, H); + return; + } + } + } + std::unique_ptr stop; if (measure) {