locallab: initialze buflight with zeroes
This commit is contained in:
@@ -4559,6 +4559,7 @@ void ImProcFunctions::Lab_Local (int call, int sp, float** shbuffer, LabImage *
|
|||||||
bufgb->L[ir][jr] = 0.f;
|
bufgb->L[ir][jr] = 0.f;
|
||||||
bufgb->a[ir][jr] = 0.f;
|
bufgb->a[ir][jr] = 0.f;
|
||||||
bufgb->b[ir][jr] = 0.f;
|
bufgb->b[ir][jr] = 0.f;
|
||||||
|
buflight[ir][jr] = 0.f;
|
||||||
}
|
}
|
||||||
|
|
||||||
int begy = lp.yc - lp.lyT;
|
int begy = lp.yc - lp.lyT;
|
||||||
@@ -4567,16 +4568,13 @@ void ImProcFunctions::Lab_Local (int call, int sp, float** shbuffer, LabImage *
|
|||||||
int xEn = lp.xc + lp.lx;
|
int xEn = lp.xc + lp.lx;
|
||||||
|
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
#pragma omp parallel for //schedule(dynamic,16)
|
#pragma omp parallel for schedule(dynamic,16)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (int y = 0; y < transformed->H ; y++) //{
|
for (int y = 0; y < transformed->H ; y++) //{
|
||||||
for (int x = 0; x < transformed->W; x++) {
|
for (int x = 0; x < transformed->W; x++) {
|
||||||
int lox = cx + x;
|
int lox = cx + x;
|
||||||
int loy = cy + y;
|
int loy = cy + y;
|
||||||
// int begx = int (lp.xc - lp.lxL);
|
|
||||||
// int begy = int (lp.yc - lp.lyT);
|
|
||||||
// if (lox >= (lp.xc - lp.lxL) && lox < (lp.xc + lp.lx) && loy >= (lp.yc - lp.lyT) && loy < (lp.yc + lp.ly)) {
|
|
||||||
|
|
||||||
if (lox >= begx && lox < xEn && loy >= begy && loy < yEn) {
|
if (lox >= begx && lox < xEn && loy >= begy && loy < yEn) {
|
||||||
bufgb->L[loy - begy][lox - begx] = original->L[y][x];//fill square buffer with datas
|
bufgb->L[loy - begy][lox - begx] = original->L[y][x];//fill square buffer with datas
|
||||||
@@ -4611,23 +4609,19 @@ void ImProcFunctions::Lab_Local (int call, int sp, float** shbuffer, LabImage *
|
|||||||
int begx = lp.xc - lp.lxL;
|
int begx = lp.xc - lp.lxL;
|
||||||
int yEn = lp.yc + lp.ly;
|
int yEn = lp.yc + lp.ly;
|
||||||
int xEn = lp.xc + lp.lx;
|
int xEn = lp.xc + lp.lx;
|
||||||
//here with the new optimized code, sometimes it crash...with the old no...why ??
|
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
#pragma omp parallel for //schedule(dynamic,16)
|
#pragma omp parallel for schedule(dynamic,16)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (int y = 0; y < transformed->H ; y++) //{
|
for (int y = 0; y < transformed->H ; y++) //{
|
||||||
for (int x = 0; x < transformed->W; x++) {
|
for (int x = 0; x < transformed->W; x++) {
|
||||||
int lox = cx + x;
|
int lox = cx + x;
|
||||||
int loy = cy + y;
|
int loy = cy + y;
|
||||||
int begx = int (lp.xc - lp.lxL);
|
|
||||||
int begy = int (lp.yc - lp.lyT);
|
|
||||||
|
|
||||||
// if (lox >= begx && lox < xEn && loy >= begy && loy < yEn) {
|
if (lox >= begx && lox < xEn && loy >= begy && loy < yEn) {
|
||||||
if (lox >= (lp.xc - lp.lxL) && lox < (lp.xc + lp.lx) && loy >= (lp.yc - lp.lyT) && loy < (lp.yc + lp.ly)) {
|
|
||||||
|
|
||||||
float rL;
|
float rL = CLIPRET ((tmp1->L[loy - begy][lox - begx] - original->L[y][x]) / 400.f);
|
||||||
rL = CLIPRET ((tmp1->L[loy - begy][lox - begx] - original->L[y][x]) / 400.f);
|
|
||||||
/*
|
/*
|
||||||
if (rL > maxc) {
|
if (rL > maxc) {
|
||||||
maxc = rL;
|
maxc = rL;
|
||||||
|
Reference in New Issue
Block a user