From c40a34abf81ded6d52e36b10f6cfaf60769b7556 Mon Sep 17 00:00:00 2001 From: Emil Martinec Date: Fri, 6 Aug 2010 19:28:28 -0500 Subject: [PATCH] Patch for AMaZE highlight interpolation bug. --- rtengine/amaze_interpolate_RT.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rtengine/amaze_interpolate_RT.cc b/rtengine/amaze_interpolate_RT.cc index a3cedcbdf..6204bb7f3 100644 --- a/rtengine/amaze_interpolate_RT.cc +++ b/rtengine/amaze_interpolate_RT.cc @@ -72,6 +72,7 @@ void RawImageSource::amaze_demosaic_RT() { //adaptive ratios threshold static const float arthresh=0.75; + static const float armax[3]={MIN(0.8*pre_mul[1],pre_mul[0]),pre_mul[1],MIN(0.8*pre_mul[1],pre_mul[2])}; //nyquist texture test threshold static const float nyqthresh=0.5; //diagonal interpolation test threshold @@ -486,7 +487,7 @@ void RawImageSource::amaze_demosaic_RT() { if (fabs(1-crl)pre_mul[1]) {guar=guha; gdar=gdha; glar=glha; grar=grha;}//use HA if highlights are clipped + if (cfa[indx]>armax[c]) {guar=guha; gdar=gdha; glar=glha; grar=grha;}//use HA if highlights are clipped hwt = dirwts[indx-1][1]/(dirwts[indx-1][1]+dirwts[indx+1][1]); vwt = dirwts[indx-v1][0]/(dirwts[indx+v1][0]+dirwts[indx-v1][0]);