Cppcheck: Fix issues related to rtengine/FTblockDN.cc
This commit is contained in:
@@ -108,7 +108,7 @@ void ImProcFunctions::Median_Denoise(float **src, float **dst, const int width,
|
|||||||
medBuffer[0] = src;
|
medBuffer[0] = src;
|
||||||
|
|
||||||
// we need a buffer if src == dst or if (src != dst && iterations > 1)
|
// we need a buffer if src == dst or if (src != dst && iterations > 1)
|
||||||
if (src == dst || (src != dst && iterations > 1)) {
|
if (src == dst || iterations > 1) {
|
||||||
if (buffer == nullptr) { // we didn't get a buufer => create one
|
if (buffer == nullptr) { // we didn't get a buufer => create one
|
||||||
allocBuffer = new float*[height];
|
allocBuffer = new float*[height];
|
||||||
|
|
||||||
@@ -853,7 +853,7 @@ SSEFUNCTION void ImProcFunctions::RGB_denoise(int kall, Imagefloat * src, Imagef
|
|||||||
const float noisevarab_b = SQR(realblue);
|
const float noisevarab_b = SQR(realblue);
|
||||||
|
|
||||||
//input L channel
|
//input L channel
|
||||||
array2D<float> *Lin;
|
array2D<float> *Lin = nullptr;
|
||||||
//wavelet denoised image
|
//wavelet denoised image
|
||||||
LabImage * labdn = new LabImage(width, height);
|
LabImage * labdn = new LabImage(width, height);
|
||||||
|
|
||||||
@@ -1678,7 +1678,7 @@ SSEFUNCTION void ImProcFunctions::RGB_denoise(int kall, Imagefloat * src, Imagef
|
|||||||
|
|
||||||
delete labdn;
|
delete labdn;
|
||||||
|
|
||||||
if (denoiseLuminance) {
|
if (Lin) {
|
||||||
delete Lin;
|
delete Lin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2250,7 +2250,6 @@ SSEFUNCTION bool ImProcFunctions::WaveletDenoiseAll_BiShrinkL(wavelet_decomposit
|
|||||||
float ** WavCoeffs_L = WaveletCoeffs_L.level_coeffs(lvl);
|
float ** WavCoeffs_L = WaveletCoeffs_L.level_coeffs(lvl);
|
||||||
|
|
||||||
if (lvl == maxlvl - 1) {
|
if (lvl == maxlvl - 1) {
|
||||||
float vari[4];
|
|
||||||
int edge = 0;
|
int edge = 0;
|
||||||
ShrinkAllL(WaveletCoeffs_L, buffer, lvl, dir, noisevarlum, madL[lvl], nullptr, edge);
|
ShrinkAllL(WaveletCoeffs_L, buffer, lvl, dir, noisevarlum, madL[lvl], nullptr, edge);
|
||||||
} else {
|
} else {
|
||||||
@@ -2613,7 +2612,7 @@ SSEFUNCTION void ImProcFunctions::ShrinkAllL(wavelet_decomposition &WaveletCoeff
|
|||||||
// printf("OK lev=%d\n",level);
|
// printf("OK lev=%d\n",level);
|
||||||
float mad_L = madL[dir - 1] ;
|
float mad_L = madL[dir - 1] ;
|
||||||
|
|
||||||
if (edge == 1) {
|
if (edge == 1 && vari) {
|
||||||
noisevarlum = blurBuffer; // we need one buffer, but fortunately we don't have to allocate a new one because we can use blurBuffer
|
noisevarlum = blurBuffer; // we need one buffer, but fortunately we don't have to allocate a new one because we can use blurBuffer
|
||||||
|
|
||||||
for (int i = 0; i < W_L * H_L; ++i) {
|
for (int i = 0; i < W_L * H_L; ++i) {
|
||||||
@@ -3044,7 +3043,7 @@ void ImProcFunctions::calcautodn_info (float &chaut, float &delta, int Nb, int l
|
|||||||
delta *= 0.15f;
|
delta *= 0.15f;
|
||||||
} else if (chaut < 650.f) {
|
} else if (chaut < 650.f) {
|
||||||
delta *= 0.1f;
|
delta *= 0.1f;
|
||||||
} else if (chaut >= 650.f) {
|
} else /*if (chaut >= 650.f)*/ {
|
||||||
delta *= 0.07f;
|
delta *= 0.07f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3082,7 +3081,7 @@ void ImProcFunctions::calcautodn_info (float &chaut, float &delta, int Nb, int l
|
|||||||
delta *= 0.3f;
|
delta *= 0.3f;
|
||||||
} else if (chaut < 650.f) {
|
} else if (chaut < 650.f) {
|
||||||
delta *= 0.2f;
|
delta *= 0.2f;
|
||||||
} else if (chaut >= 650.f) {
|
} else /*if (chaut >= 650.f)*/ {
|
||||||
delta *= 0.15f;
|
delta *= 0.15f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3107,7 +3106,7 @@ void ImProcFunctions::calcautodn_info (float &chaut, float &delta, int Nb, int l
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SSEFUNCTION void ImProcFunctions::RGB_denoise_info(Imagefloat * src, Imagefloat * provicalc, const bool isRAW, LUTf &gamcurve, float gam, float gamthresh, float gamslope, const procparams::DirPyrDenoiseParams & dnparams, const double expcomp, float &chaut, int &Nb, float &redaut, float &blueaut, float &maxredaut, float &maxblueaut, float &minredaut, float &minblueaut, float &nresi, float &highresi, float &chromina, float &sigma, float &lumema, float &sigma_L, float &redyel, float &skinc, float &nsknc, bool multiThread)
|
SSEFUNCTION void ImProcFunctions::RGB_denoise_info(Imagefloat * src, Imagefloat * provicalc, const bool isRAW, LUTf &gamcurve, float gam, float gamthresh, float gamslope, const procparams::DirPyrDenoiseParams & dnparams, const double expcomp, float &chaut, int &Nb, float &redaut, float &blueaut, float &maxredaut, float &maxblueaut, float &minredaut, float &minblueaut, float &chromina, float &sigma, float &lumema, float &sigma_L, float &redyel, float &skinc, float &nsknc, bool multiThread)
|
||||||
{
|
{
|
||||||
if ((settings->leveldnautsimpl == 1 && dnparams.Cmethod == "MAN") || (settings->leveldnautsimpl == 0 && dnparams.C2method == "MANU")) {
|
if ((settings->leveldnautsimpl == 1 && dnparams.Cmethod == "MAN") || (settings->leveldnautsimpl == 0 && dnparams.C2method == "MANU")) {
|
||||||
//nothing to do
|
//nothing to do
|
||||||
@@ -3546,9 +3545,6 @@ SSEFUNCTION void ImProcFunctions::RGB_denoise_info(Imagefloat * src, Imagefloat
|
|||||||
}
|
}
|
||||||
|
|
||||||
comptlevel += 1;
|
comptlevel += 1;
|
||||||
float chresid, chmaxredresid, chmaxblueresid;
|
|
||||||
nresi = chresid;
|
|
||||||
highresi = chresid + 0.66f * (max(chmaxredresid, chmaxblueresid) - chresid); //evaluate sigma
|
|
||||||
delete adecomp;
|
delete adecomp;
|
||||||
delete bdecomp;
|
delete bdecomp;
|
||||||
delete labdn;
|
delete labdn;
|
||||||
|
@@ -321,7 +321,7 @@ void Crop::update (int todo)
|
|||||||
|
|
||||||
float maxr = 0.f;
|
float maxr = 0.f;
|
||||||
float maxb = 0.f;
|
float maxb = 0.f;
|
||||||
float chaut, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, nresi, highresi, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc;
|
float chaut, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc;
|
||||||
int Nb;
|
int Nb;
|
||||||
|
|
||||||
chaut = 0.f;
|
chaut = 0.f;
|
||||||
@@ -334,7 +334,7 @@ void Crop::update (int todo)
|
|||||||
LUTf gamcurve(65536, 0);
|
LUTf gamcurve(65536, 0);
|
||||||
float gam, gamthresh, gamslope;
|
float gam, gamthresh, gamslope;
|
||||||
parent->ipf.RGB_denoise_infoGamCurve(params.dirpyrDenoise, parent->imgsrc->isRAW(), gamcurve, gam, gamthresh, gamslope);
|
parent->ipf.RGB_denoise_infoGamCurve(params.dirpyrDenoise, parent->imgsrc->isRAW(), gamcurve, gam, gamthresh, gamslope);
|
||||||
parent->ipf.RGB_denoise_info(origCrop, provicalc, parent->imgsrc->isRAW(), gamcurve, gam, gamthresh, gamslope, params.dirpyrDenoise, parent->imgsrc->getDirPyrDenoiseExpComp(), chaut, Nb, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, nresi, highresi, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc, true);
|
parent->ipf.RGB_denoise_info(origCrop, provicalc, parent->imgsrc->isRAW(), gamcurve, gam, gamthresh, gamslope, params.dirpyrDenoise, parent->imgsrc->getDirPyrDenoiseExpComp(), chaut, Nb, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc, true);
|
||||||
// printf("redy=%f skin=%f pcskin=%f\n",redyel, skinc,nsknc);
|
// printf("redy=%f skin=%f pcskin=%f\n",redyel, skinc,nsknc);
|
||||||
// printf("DCROP skip=%d cha=%4.0f Nb=%d red=%4.0f bl=%4.0f redM=%4.0f bluM=%4.0f L=%4.0f sigL=%4.0f Ch=%4.0f Si=%4.0f\n",skip, chaut,Nb, redaut,blueaut, maxredaut, maxblueaut, lumema, sigma_L, chromina, sigma);
|
// printf("DCROP skip=%d cha=%4.0f Nb=%d red=%4.0f bl=%4.0f redM=%4.0f bluM=%4.0f L=%4.0f sigL=%4.0f Ch=%4.0f Si=%4.0f\n",skip, chaut,Nb, redaut,blueaut, maxredaut, maxblueaut, lumema, sigma_L, chromina, sigma);
|
||||||
float multip = 1.f;
|
float multip = 1.f;
|
||||||
@@ -453,9 +453,9 @@ void Crop::update (int todo)
|
|||||||
parent->imgsrc->convertColorSpace(provicalc, params.icm, parent->currWB);//for denoise luminance curve
|
parent->imgsrc->convertColorSpace(provicalc, params.icm, parent->currWB);//for denoise luminance curve
|
||||||
|
|
||||||
float pondcorrec = 1.0f;
|
float pondcorrec = 1.0f;
|
||||||
float chaut = 0.f, redaut = 0.f, blueaut = 0.f, maxredaut = 0.f, maxblueaut = 0.f, minredaut = 0.f, minblueaut = 0.f, nresi = 0.f, highresi = 0.f, chromina = 0.f, sigma = 0.f, lumema = 0.f, sigma_L = 0.f, redyel = 0.f, skinc = 0.f, nsknc = 0.f;
|
float chaut = 0.f, redaut = 0.f, blueaut = 0.f, maxredaut = 0.f, maxblueaut = 0.f, minredaut = 0.f, minblueaut = 0.f, chromina = 0.f, sigma = 0.f, lumema = 0.f, sigma_L = 0.f, redyel = 0.f, skinc = 0.f, nsknc = 0.f;
|
||||||
int nb = 0;
|
int nb = 0;
|
||||||
parent->ipf.RGB_denoise_info(origCropPart, provicalc, parent->imgsrc->isRAW(), gamcurve, gam, gamthresh, gamslope, params.dirpyrDenoise, parent->imgsrc->getDirPyrDenoiseExpComp(), chaut, nb, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, nresi, highresi, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc);
|
parent->ipf.RGB_denoise_info(origCropPart, provicalc, parent->imgsrc->isRAW(), gamcurve, gam, gamthresh, gamslope, params.dirpyrDenoise, parent->imgsrc->getDirPyrDenoiseExpComp(), chaut, nb, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc);
|
||||||
|
|
||||||
//printf("DCROP skip=%d cha=%f red=%f bl=%f redM=%f bluM=%f chrom=%f sigm=%f lum=%f\n",skip, chaut,redaut,blueaut, maxredaut, maxblueaut, chromina, sigma, lumema);
|
//printf("DCROP skip=%d cha=%f red=%f bl=%f redM=%f bluM=%f chrom=%f sigm=%f lum=%f\n",skip, chaut,redaut,blueaut, maxredaut, maxblueaut, chromina, sigma, lumema);
|
||||||
Nb[hcr * 3 + wcr] = nb;
|
Nb[hcr * 3 + wcr] = nb;
|
||||||
|
@@ -321,7 +321,7 @@ public:
|
|||||||
void Median_Denoise( float **src, float **dst, int width, int height, Median medianType, int iterations, int numThreads, float **buffer = NULL);
|
void Median_Denoise( float **src, float **dst, int width, int height, Median medianType, int iterations, int numThreads, float **buffer = NULL);
|
||||||
void RGB_denoise(int kall, Imagefloat * src, Imagefloat * dst, Imagefloat * calclum, float * ch_M, float *max_r, float *max_b, bool isRAW, const procparams::DirPyrDenoiseParams & dnparams, const double expcomp, const NoiseCurve & noiseLCurve , const NoiseCurve & noiseCCurve , float &chaut, float &redaut, float &blueaut, float &maxredaut, float & maxblueaut, float &nresi, float &highresi);
|
void RGB_denoise(int kall, Imagefloat * src, Imagefloat * dst, Imagefloat * calclum, float * ch_M, float *max_r, float *max_b, bool isRAW, const procparams::DirPyrDenoiseParams & dnparams, const double expcomp, const NoiseCurve & noiseLCurve , const NoiseCurve & noiseCCurve , float &chaut, float &redaut, float &blueaut, float &maxredaut, float & maxblueaut, float &nresi, float &highresi);
|
||||||
void RGB_denoise_infoGamCurve(const procparams::DirPyrDenoiseParams & dnparams, const bool isRAW, LUTf &gamcurve, float &gam, float &gamthresh, float &gamslope);
|
void RGB_denoise_infoGamCurve(const procparams::DirPyrDenoiseParams & dnparams, const bool isRAW, LUTf &gamcurve, float &gam, float &gamthresh, float &gamslope);
|
||||||
void RGB_denoise_info(Imagefloat * src, Imagefloat * provicalc, bool isRAW, LUTf &gamcurve, float gam, float gamthresh, float gamslope, const procparams::DirPyrDenoiseParams & dnparams, const double expcomp, float &chaut, int &Nb, float &redaut, float &blueaut, float &maxredaut, float & maxblueaut, float &minredaut, float & minblueaut, float &nresi, float &highresi, float &chromina, float &sigma, float &lumema, float &sigma_L, float &redyel, float &skinc, float &nsknc, bool multiThread = false);
|
void RGB_denoise_info(Imagefloat * src, Imagefloat * provicalc, bool isRAW, LUTf &gamcurve, float gam, float gamthresh, float gamslope, const procparams::DirPyrDenoiseParams & dnparams, const double expcomp, float &chaut, int &Nb, float &redaut, float &blueaut, float &maxredaut, float & maxblueaut, float &minredaut, float & minblueaut, float &chromina, float &sigma, float &lumema, float &sigma_L, float &redyel, float &skinc, float &nsknc, bool multiThread = false);
|
||||||
void RGBtile_denoise (float * fLblox, int hblproc, float noisevar_Ldetail, float * nbrwt, float * blurbuffer ); //for DCT
|
void RGBtile_denoise (float * fLblox, int hblproc, float noisevar_Ldetail, float * nbrwt, float * blurbuffer ); //for DCT
|
||||||
void RGBoutput_tile_row (float *bloxrow_L, float ** Ldetail, float ** tilemask_out, int height, int width, int top );
|
void RGBoutput_tile_row (float *bloxrow_L, float ** Ldetail, float ** tilemask_out, int height, int width, int top );
|
||||||
bool WaveletDenoiseAllL(wavelet_decomposition &WaveletCoeffs_L, float *noisevarlum, float madL[8][3], float * vari, int edge);
|
bool WaveletDenoiseAllL(wavelet_decomposition &WaveletCoeffs_L, float *noisevarlum, float madL[8][3], float * vari, int edge);
|
||||||
|
@@ -273,7 +273,7 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
|
|||||||
float maxr = 0.f;
|
float maxr = 0.f;
|
||||||
float maxb = 0.f;
|
float maxb = 0.f;
|
||||||
float pondcorrec = 1.0f;
|
float pondcorrec = 1.0f;
|
||||||
float chaut, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, nresi, highresi, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc;
|
float chaut, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc;
|
||||||
int Nb;
|
int Nb;
|
||||||
chaut = 0.f;
|
chaut = 0.f;
|
||||||
redaut = 0.f;
|
redaut = 0.f;
|
||||||
@@ -282,7 +282,7 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
|
|||||||
maxblueaut = 0.f;
|
maxblueaut = 0.f;
|
||||||
chromina = 0.f;
|
chromina = 0.f;
|
||||||
sigma = 0.f;
|
sigma = 0.f;
|
||||||
ipf.RGB_denoise_info(origCropPart, provicalc, imgsrc->isRAW(), gamcurve, gam, gamthresh, gamslope, params.dirpyrDenoise, imgsrc->getDirPyrDenoiseExpComp(), chaut, Nb, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, nresi, highresi, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc);
|
ipf.RGB_denoise_info(origCropPart, provicalc, imgsrc->isRAW(), gamcurve, gam, gamthresh, gamslope, params.dirpyrDenoise, imgsrc->getDirPyrDenoiseExpComp(), chaut, Nb, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc);
|
||||||
float multip = 1.f;
|
float multip = 1.f;
|
||||||
float adjustr = 1.f;
|
float adjustr = 1.f;
|
||||||
|
|
||||||
@@ -490,8 +490,8 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
|
|||||||
|
|
||||||
imgsrc->convertColorSpace(provicalc, params.icm, currWB);//for denoise luminance curve
|
imgsrc->convertColorSpace(provicalc, params.icm, currWB);//for denoise luminance curve
|
||||||
int nb = 0;
|
int nb = 0;
|
||||||
float chaut = 0.f, redaut = 0.f, blueaut = 0.f, maxredaut = 0.f, maxblueaut = 0.f, minredaut = 0.f, minblueaut = 0.f, nresi = 0.f, highresi = 0.f, chromina = 0.f, sigma = 0.f, lumema = 0.f, sigma_L = 0.f, redyel = 0.f, skinc = 0.f, nsknc = 0.f;
|
float chaut = 0.f, redaut = 0.f, blueaut = 0.f, maxredaut = 0.f, maxblueaut = 0.f, minredaut = 0.f, minblueaut = 0.f, chromina = 0.f, sigma = 0.f, lumema = 0.f, sigma_L = 0.f, redyel = 0.f, skinc = 0.f, nsknc = 0.f;
|
||||||
ipf.RGB_denoise_info(origCropPart, provicalc, imgsrc->isRAW(), gamcurve, gam, gamthresh, gamslope, params.dirpyrDenoise, imgsrc->getDirPyrDenoiseExpComp(), chaut, nb, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, nresi, highresi, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc);
|
ipf.RGB_denoise_info(origCropPart, provicalc, imgsrc->isRAW(), gamcurve, gam, gamthresh, gamslope, params.dirpyrDenoise, imgsrc->getDirPyrDenoiseExpComp(), chaut, nb, redaut, blueaut, maxredaut, maxblueaut, minredaut, minblueaut, chromina, sigma, lumema, sigma_L, redyel, skinc, nsknc);
|
||||||
Nb[hcr * 3 + wcr] = nb;
|
Nb[hcr * 3 + wcr] = nb;
|
||||||
ch_M[hcr * 3 + wcr] = chaut;
|
ch_M[hcr * 3 + wcr] = chaut;
|
||||||
max_r[hcr * 3 + wcr] = maxredaut;
|
max_r[hcr * 3 + wcr] = maxredaut;
|
||||||
|
Reference in New Issue
Block a user