Optimize image interpolation step before demosaic with omp parallelisation

This commit is contained in:
askv
2010-09-11 22:06:46 -07:00
parent e232d8eb2e
commit 46078450a9
2 changed files with 3118 additions and 3115 deletions

View File

@@ -1153,6 +1153,7 @@ void RawImageSource::colorSpaceConversion (Image16* im, ColorManagementParams cm
for (int k=0; k<3; k++)
mat[i][j] += camMatrix[i][k] * work[k][j];
#pragma omp parallel for
for (int i=0; i<im->height; i++)
for (int j=0; j<im->width; j++) {
@@ -1175,6 +1176,7 @@ void RawImageSource::colorSpaceConversion (Image16* im, ColorManagementParams cm
if (cmp.gammaOnInput) {
double gd = pow (2.0, defgain);
defgain = 0.0;
#pragma omp parallel for
for (int i=0; i<im->height; i++)
for (int j=0; j<im->width; j++) {
im->r[i][j] = CurveFactory::gamma (CLIP(defgain*im->r[i][j]));

View File

@@ -97,6 +97,7 @@ class RawImageSource : public ImageSource {
void updateHLRecoveryMap (std::string method, double rm, double gm, double bm);
void updateHLRecoveryMap_ColorPropagation ();
void HLRecovery_ColorPropagation (unsigned short* red, unsigned short* green, unsigned short* blue, int i, int sx1, int width, int skip);
void interpolate_image(Image16* image, HRecParams hrp, double rm, double gm, double bm, int skip, int tran, int fw, int imwidth, int imheight, int sx, int sy, int start, int end);
public: