fixed special handling of chroma = -100
This commit is contained in:
parent
5cd202ddb5
commit
6dba58e26e
@ -40,6 +40,8 @@
|
||||
#include "improccoordinator.h"
|
||||
#include "clutstore.h"
|
||||
#include "ciecam02.h"
|
||||
#include "../rtgui/ppversion.h"
|
||||
#include "../rtgui/guiutils.h"
|
||||
|
||||
#undef CLIPD
|
||||
#define CLIPD(a) ((a)>0.0f?((a)<1.0f?(a):1.0f):0.0f)
|
||||
@ -3228,6 +3230,7 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer
|
||||
clut2xyz = iccStore->workingSpaceMatrix( hald_clut->getProfile() );
|
||||
|
||||
#ifdef __SSE2__
|
||||
|
||||
for (int i = 0; i < 3; ++i) {
|
||||
for (int j = 0; j < 3; ++j) {
|
||||
v_work2xyz[i][j] = F2V(work2xyz[i][j]);
|
||||
@ -3236,6 +3239,7 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer
|
||||
v_clut2xyz[i][j] = F2V(clut2xyz[i][j]);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
@ -4363,6 +4367,7 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer
|
||||
int tj = 0;
|
||||
|
||||
#ifdef __SSE2__
|
||||
|
||||
for (; j < tW - 3; j += 4, tj += 4) {
|
||||
vfloat sourceR = LVF(rtemp[ti * TS + tj]);
|
||||
vfloat sourceG = LVF(gtemp[ti * TS + tj]);
|
||||
@ -4378,6 +4383,7 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer
|
||||
STVF(gtemp[ti * TS + tj], sourceG);
|
||||
STVF(btemp[ti * TS + tj], sourceB);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
for (; j < tW; j++, tj++) {
|
||||
@ -4429,6 +4435,7 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer
|
||||
int tj = 0;
|
||||
|
||||
#ifdef __SSE2__
|
||||
|
||||
for (; j < tW - 3; j += 4, tj += 4) {
|
||||
vfloat sourceR = LVF(rtemp[ti * TS + tj]);
|
||||
vfloat sourceG = LVF(gtemp[ti * TS + tj]);
|
||||
@ -4444,6 +4451,7 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer
|
||||
STVF(gtemp[ti * TS + tj], sourceG);
|
||||
STVF(btemp[ti * TS + tj], sourceB);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
for (; j < tW; j++, tj++) {
|
||||
@ -5756,7 +5764,10 @@ SSEFUNCTION void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBu
|
||||
const int chromaticity = params->labCurve.chromaticity;
|
||||
const float chromapro = (chromaticity + 100.0f) / 100.0f;
|
||||
const bool bwonly = params->blackwhite.enabled && !params->colorToning.enabled;
|
||||
const bool bwToning = params->labCurve.chromaticity == - 100 /*|| params->blackwhite.method=="Ch" || params->blackwhite.enabled */ || bwonly;
|
||||
bool bwq = false;
|
||||
// if(params->ppVersion > 300 && params->labCurve.chromaticity == - 100) bwq = true;
|
||||
// const bool bwToning = params->labCurve.chromaticity == - 100 /*|| params->blackwhite.method=="Ch" || params->blackwhite.enabled */ || bwonly;
|
||||
const bool bwToning = bwq /*|| params->blackwhite.method=="Ch" || params->blackwhite.enabled */ || bwonly;
|
||||
//if(chromaticity==-100) chromaticity==-99;
|
||||
const bool LCredsk = params->labCurve.lcredsk;
|
||||
const bool ccut = ccutili;
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user