diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc index 0bf4d34ca..b723f130d 100644 --- a/rtengine/rawimagesource.cc +++ b/rtengine/rawimagesource.cc @@ -2384,16 +2384,7 @@ void RawImageSource::bilinear_interpolate_block(ushort (*image)[4], int start, i pix[ip[0]] = sum[ip[0]] * ip[1] >> 8; } - for (int i=start; isetProgress (0.0); } + memset(blcode,0,16*16*32); for (row=0; row < 16; row++) for (col=0; col < 16; col++) { ip = blcode[row][col]; @@ -2437,10 +2429,6 @@ void RawImageSource::bilinear_demosaic() } } - red = new unsigned short*[H]; - green = new unsigned short*[H]; - blue = new unsigned short*[H]; - #ifdef _OPENMP #pragma omp parallel { @@ -2466,6 +2454,22 @@ void RawImageSource::bilinear_demosaic() bilinear_interpolate_block(image, 1, height-1); #endif +red = new unsigned short*[H]; +green = new unsigned short*[H]; +blue = new unsigned short*[H]; + +#pragma omp parallel for + for (int i=0; isetProgress (1.0); free (image); }