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:
Lawrence Lee 2024-11-24 12:04:54 -08:00
parent 3e8d581194
commit 2a6b79fb0c
No known key found for this signature in database
GPG Key ID: 048FF2B76A63895F
2 changed files with 6 additions and 6 deletions

View File

@ -2690,9 +2690,9 @@ void RawImageSource::copyOriginalPixels(const RAWParams &raw, RawImage *src, con
*/
if (ri->getSensorType() == ST_BAYER) {
getMinValsBayer(ri->zeroIsBad());
getMinValsBayer(rawData, ri->zeroIsBad());
} else {
getMinValsXtrans();
getMinValsXtrans(rawData);
}
//
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)
*/
void RawImageSource::getMinValsXtrans() {
void RawImageSource::getMinValsXtrans(const array2D<float> &rawData) {
#ifdef _OPENMP
#pragma omp parallel for reduction (min:minVals)
#endif
@ -8530,7 +8530,7 @@ void RawImageSource::applyDngGainMap(const float black[4], const std::vector<Gai
/*
Copyright (c) Ingo Weyrich 2020 (heckflosse67@gmx.de)
*/
void RawImageSource::getMinValsBayer(bool zeroIsBad) {
void RawImageSource::getMinValsBayer(const array2D<float> &rawData, bool zeroIsBad) {
BENCHFUN
if (!zeroIsBad) {
#ifdef _OPENMP

View File

@ -310,8 +310,8 @@ protected:
void vflip (Imagefloat* im);
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 getMinValsXtrans();
void getMinValsBayer(bool zeroIsBad);
void getMinValsXtrans(const array2D<float> &rawData);
void getMinValsBayer(const array2D<float> &rawData, bool zeroIsBad);
void applyDngGainMap(const float black[4], const std::vector<GainMap> &gainMaps);
public:
void wbMul2Camera(double &rm, double &gm, double &bm) override;