Fix crash when opening multi-frame images
Fix source of raw data when calculating raw minimum values for raw de-haze.
This commit is contained in:
parent
3e8d581194
commit
2a6b79fb0c
@ -2690,9 +2690,9 @@ void RawImageSource::copyOriginalPixels(const RAWParams &raw, RawImage *src, con
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (ri->getSensorType() == ST_BAYER) {
|
if (ri->getSensorType() == ST_BAYER) {
|
||||||
getMinValsBayer(ri->zeroIsBad());
|
getMinValsBayer(rawData, ri->zeroIsBad());
|
||||||
} else {
|
} else {
|
||||||
getMinValsXtrans();
|
getMinValsXtrans(rawData);
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
reddeha = minVals[0];
|
reddeha = minVals[0];
|
||||||
@ -8384,7 +8384,7 @@ void RawImageSource::getRawValues(int x, int y, int rotate, int &R, int &G, int
|
|||||||
/*
|
/*
|
||||||
Copyright (c) Ingo Weyrich 2020 (heckflosse67@gmx.de)
|
Copyright (c) Ingo Weyrich 2020 (heckflosse67@gmx.de)
|
||||||
*/
|
*/
|
||||||
void RawImageSource::getMinValsXtrans() {
|
void RawImageSource::getMinValsXtrans(const array2D<float> &rawData) {
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
#pragma omp parallel for reduction (min:minVals)
|
#pragma omp parallel for reduction (min:minVals)
|
||||||
#endif
|
#endif
|
||||||
@ -8530,7 +8530,7 @@ void RawImageSource::applyDngGainMap(const float black[4], const std::vector<Gai
|
|||||||
/*
|
/*
|
||||||
Copyright (c) Ingo Weyrich 2020 (heckflosse67@gmx.de)
|
Copyright (c) Ingo Weyrich 2020 (heckflosse67@gmx.de)
|
||||||
*/
|
*/
|
||||||
void RawImageSource::getMinValsBayer(bool zeroIsBad) {
|
void RawImageSource::getMinValsBayer(const array2D<float> &rawData, bool zeroIsBad) {
|
||||||
BENCHFUN
|
BENCHFUN
|
||||||
if (!zeroIsBad) {
|
if (!zeroIsBad) {
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
|
@ -310,8 +310,8 @@ protected:
|
|||||||
void vflip (Imagefloat* im);
|
void vflip (Imagefloat* im);
|
||||||
void getRawValues(int x, int y, int rotate, int &R, int &G, int &B) override;
|
void getRawValues(int x, int y, int rotate, int &R, int &G, int &B) override;
|
||||||
void captureSharpening(const procparams::CaptureSharpeningParams &sharpeningParams, bool showMask, double &conrastThreshold, double &radius) override;
|
void captureSharpening(const procparams::CaptureSharpeningParams &sharpeningParams, bool showMask, double &conrastThreshold, double &radius) override;
|
||||||
void getMinValsXtrans();
|
void getMinValsXtrans(const array2D<float> &rawData);
|
||||||
void getMinValsBayer(bool zeroIsBad);
|
void getMinValsBayer(const array2D<float> &rawData, bool zeroIsBad);
|
||||||
void applyDngGainMap(const float black[4], const std::vector<GainMap> &gainMaps);
|
void applyDngGainMap(const float black[4], const std::vector<GainMap> &gainMaps);
|
||||||
public:
|
public:
|
||||||
void wbMul2Camera(double &rm, double &gm, double &bm) override;
|
void wbMul2Camera(double &rm, double &gm, double &bm) override;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user