diff --git a/rtengine/amaze_demosaic_RT.cc b/rtengine/amaze_demosaic_RT.cc index d5fb01447..f48c879c8 100644 --- a/rtengine/amaze_demosaic_RT.cc +++ b/rtengine/amaze_demosaic_RT.cc @@ -107,10 +107,6 @@ void RawImageSource::amaze_demosaic_RT(int winx, int winy, int winw, int winh) { float (*vcdalt); // alternative horizontal interpolation float (*hcdalt); - // square of vcd - float (*vcdsq); - // square of hcd - float (*hcdsq); // square of average color difference float (*cddiffsq); // weight to give horizontal vs vertical interpolation @@ -153,7 +149,7 @@ void RawImageSource::amaze_demosaic_RT(int winx, int winy, int winw, int winh) { // assign working space - buffer = (char *) malloc((34*sizeof(float)+sizeof(int))*TS*TS); + buffer = (char *) malloc((32*sizeof(float)+sizeof(int))*TS*TS); //merror(buffer,"amaze_interpolate()"); //memset(buffer,0,(34*sizeof(float)+sizeof(int))*TS*TS); // rgb array @@ -167,28 +163,26 @@ void RawImageSource::amaze_demosaic_RT(int winx, int winy, int winw, int winh) { hcd = (float (*)) (buffer + 10*sizeof(float)*TS*TS); vcdalt = (float (*)) (buffer + 11*sizeof(float)*TS*TS); hcdalt = (float (*)) (buffer + 12*sizeof(float)*TS*TS); - vcdsq = (float (*)) (buffer + 13*sizeof(float)*TS*TS); - hcdsq = (float (*)) (buffer + 14*sizeof(float)*TS*TS); - cddiffsq = (float (*)) (buffer + 15*sizeof(float)*TS*TS); - hvwt = (float (*)) (buffer + 16*sizeof(float)*TS*TS); - Dgrb = (float (*)[2]) (buffer + 17*sizeof(float)*TS*TS); - delp = (float (*)) (buffer + 19*sizeof(float)*TS*TS); - delm = (float (*)) (buffer + 20*sizeof(float)*TS*TS); - rbint = (float (*)) (buffer + 21*sizeof(float)*TS*TS); - Dgrbh2 = (float (*)) (buffer + 22*sizeof(float)*TS*TS); - Dgrbv2 = (float (*)) (buffer + 23*sizeof(float)*TS*TS); - dgintv = (float (*)) (buffer + 24*sizeof(float)*TS*TS); - dginth = (float (*)) (buffer + 25*sizeof(float)*TS*TS); - Dgrbp1 = (float (*)) (buffer + 26*sizeof(float)*TS*TS); - Dgrbm1 = (float (*)) (buffer + 27*sizeof(float)*TS*TS); - Dgrbpsq1 = (float (*)) (buffer + 28*sizeof(float)*TS*TS); - Dgrbmsq1 = (float (*)) (buffer + 29*sizeof(float)*TS*TS); - cfa = (float (*)) (buffer + 30*sizeof(float)*TS*TS); - pmwt = (float (*)) (buffer + 31*sizeof(float)*TS*TS); - rbp = (float (*)) (buffer + 32*sizeof(float)*TS*TS); - rbm = (float (*)) (buffer + 33*sizeof(float)*TS*TS); + cddiffsq = (float (*)) (buffer + 13*sizeof(float)*TS*TS); + hvwt = (float (*)) (buffer + 14*sizeof(float)*TS*TS); + Dgrb = (float (*)[2]) (buffer + 15*sizeof(float)*TS*TS); + delp = (float (*)) (buffer + 17*sizeof(float)*TS*TS); + delm = (float (*)) (buffer + 18*sizeof(float)*TS*TS); + rbint = (float (*)) (buffer + 19*sizeof(float)*TS*TS); + Dgrbh2 = (float (*)) (buffer + 20*sizeof(float)*TS*TS); + Dgrbv2 = (float (*)) (buffer + 21*sizeof(float)*TS*TS); + dgintv = (float (*)) (buffer + 22*sizeof(float)*TS*TS); + dginth = (float (*)) (buffer + 23*sizeof(float)*TS*TS); + Dgrbp1 = (float (*)) (buffer + 24*sizeof(float)*TS*TS); + Dgrbm1 = (float (*)) (buffer + 25*sizeof(float)*TS*TS); + Dgrbpsq1 = (float (*)) (buffer + 26*sizeof(float)*TS*TS); + Dgrbmsq1 = (float (*)) (buffer + 27*sizeof(float)*TS*TS); + cfa = (float (*)) (buffer + 28*sizeof(float)*TS*TS); + pmwt = (float (*)) (buffer + 29*sizeof(float)*TS*TS); + rbp = (float (*)) (buffer + 30*sizeof(float)*TS*TS); + rbm = (float (*)) (buffer + 31*sizeof(float)*TS*TS); - nyquist = (int (*)) (buffer + 34*sizeof(int)*TS*TS); + nyquist = (int (*)) (buffer + 32*sizeof(int)*TS*TS); // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -498,12 +492,6 @@ void RawImageSource::amaze_demosaic_RT(int winx, int winy, int winw, int winh) { dgintv[indx]=MIN(SQR(guha-gdha),SQR(guar-gdar)); dginth[indx]=MIN(SQR(glha-grha),SQR(glar-grar)); - //dgintv[indx]=SQR(guar-gdar); - //dginth[indx]=SQR(glar-grar); - - //vcdsq[indx] = SQR(vcd[indx]); - //hcdsq[indx] = SQR(hcd[indx]); - //cddiffsq[indx] = SQR(vcd[indx]-hcd[indx]); } //t2_vcdhcd += clock() - t1_vcdhcd; @@ -576,9 +564,6 @@ void RawImageSource::amaze_demosaic_RT(int winx, int winy, int winw, int winh) { //if (Gintv > pre_mul[c]) vcd[indx]=ULIM(Gintv,cfa[indx-v1],cfa[indx+v1])-cfa[indx]; } - - vcdsq[indx] = SQR(vcd[indx]); - hcdsq[indx] = SQR(hcd[indx]); cddiffsq[indx] = SQR(vcd[indx]-hcd[indx]); } @@ -586,23 +571,22 @@ void RawImageSource::amaze_demosaic_RT(int winx, int winy, int winw, int winh) { for (cc=6+(FC(rr,2)&1),indx=rr*TS+cc; cc