Multithread lensfun vignetting correction

This commit is contained in:
Ingo Weyrich
2019-12-02 17:32:13 +01:00
parent dba0d72ecd
commit f95acfe74e
5 changed files with 62 additions and 49 deletions

View File

@@ -172,8 +172,8 @@ public:
virtual void correctDistortion(double &x, double &y, int cx, int cy, double scale) const = 0;
virtual bool isCACorrectionAvailable() const = 0;
virtual void correctCA(double &x, double &y, int cx, int cy, int channel) const = 0;
virtual void processVignetteLine(int width, int y, float *line) const = 0;
virtual void processVignetteLine3Channels(int width, int y, float *line) const = 0;
virtual void processVignette(int width, int height, float** rawData) const = 0;
virtual void processVignette3Channels(int width, int height, float** rawData) const = 0;
};
@@ -200,8 +200,8 @@ public:
void correctDistortion(double &x, double &y, int cx, int cy, double scale) const override; // MUST be the first stage
bool isCACorrectionAvailable() const override;
void correctCA(double& x, double& y, int cx, int cy, int channel) const override;
void processVignetteLine(int width, int y, float* line) const override;
void processVignetteLine3Channels(int width, int y, float* line) const override;
void processVignette(int width, int height, float** rawData) const override;
void processVignette3Channels(int width, int height, float** rawData) const override;
private:
bool enableCA; // is the mapper capable if CA correction?
@@ -210,6 +210,9 @@ private:
LCPModelCommon mc;
LCPModelCommon chrom[3]; // in order RedGreen/Green/BlueGreen
bool isFisheye;
void processVignetteLine(int width, int y, float* line) const;
void processVignetteLine3Channels(int width, int y, float* line) const;
};
}