Multithread lensfun vignetting correction
This commit is contained in:
@@ -1135,6 +1135,17 @@ void rtengine::LCPMapper::correctCA(double& x, double& y, int cx, int cy, int ch
|
||||
y -= cy;
|
||||
}
|
||||
|
||||
void rtengine::LCPMapper::processVignette(int width, int height, float** rawData) const
|
||||
{
|
||||
#ifdef _OPENMP
|
||||
#pragma omp parallel for schedule(dynamic,16)
|
||||
#endif
|
||||
|
||||
for (int y = 0; y < height; ++y) {
|
||||
processVignetteLine(width, y, rawData[y]);
|
||||
}
|
||||
}
|
||||
|
||||
void rtengine::LCPMapper::processVignetteLine(int width, int y, float* line) const
|
||||
{
|
||||
// No need for swapXY, since vignette is in RAW and always before rotation
|
||||
@@ -1173,6 +1184,17 @@ void rtengine::LCPMapper::processVignetteLine(int width, int y, float* line) con
|
||||
}
|
||||
}
|
||||
|
||||
void rtengine::LCPMapper::processVignette3Channels(int width, int height, float** rawData) const
|
||||
{
|
||||
#ifdef _OPENMP
|
||||
#pragma omp parallel for schedule(dynamic,16)
|
||||
#endif
|
||||
|
||||
for (int y = 0; y < height; ++y) {
|
||||
processVignetteLine3Channels(width, y, rawData[y]);
|
||||
}
|
||||
}
|
||||
|
||||
void rtengine::LCPMapper::processVignetteLine3Channels(int width, int y, float* line) const
|
||||
{
|
||||
// No need for swapXY, since vignette is in RAW and always before rotation
|
||||
|
Reference in New Issue
Block a user