Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mm2/Little-CMS.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/lcms2.h26
-rw-r--r--include/lcms2_plugin.h2
-rw-r--r--src/cmscnvrt.c4
-rw-r--r--src/cmsgmt.c2
-rw-r--r--src/cmslut.c25
-rw-r--r--src/cmsopt.c4
-rw-r--r--src/cmstypes.c14
-rw-r--r--src/cmsvirt.c4
-rw-r--r--testbed/testcms2.c31
-rw-r--r--utils/jpgicc/jpgicc.c4
10 files changed, 70 insertions, 46 deletions
diff --git a/include/lcms2.h b/include/lcms2.h
index 75a3857..2d0a32f 100644
--- a/include/lcms2.h
+++ b/include/lcms2.h
@@ -1131,11 +1131,27 @@ CMSAPI cmsStage* CMSEXPORT cmsStageAllocIdentity(cmsContext ContextID, c
CMSAPI cmsStage* CMSEXPORT cmsStageAllocToneCurves(cmsContext ContextID, cmsUInt32Number nChannels, cmsToneCurve* const Curves[]);
CMSAPI cmsStage* CMSEXPORT cmsStageAllocMatrix(cmsContext ContextID, cmsUInt32Number Rows, cmsUInt32Number Cols, const cmsFloat64Number* Matrix, const cmsFloat64Number* Offset);
-CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLut16bit(cmsContext ContextID, cmsUInt32Number nGridPoints, cmsUInt32Number inputChan, cmsUInt32Number outputChan, const cmsUInt16Number* Table);
-CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLutFloat(cmsContext ContextID, cmsUInt32Number nGridPoints, cmsUInt32Number inputChan, cmsUInt32Number outputChan, const cmsFloat32Number* Table);
-
-CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLut16bitGranular(cmsContext ContextID, const cmsUInt32Number clutPoints[], cmsUInt32Number inputChan, cmsUInt32Number outputChan, const cmsUInt16Number* Table);
-CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLutFloatGranular(cmsContext ContextID, const cmsUInt32Number clutPoints[], cmsUInt32Number inputChan, cmsUInt32Number outputChan, const cmsFloat32Number* Table);
+#define cmsCLUT_FLAGS_TRILINEAR_INTERPOLATION 0x0100
+
+CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLut16bit(cmsContext ContextID, cmsUInt32Number nGridPoints,
+ cmsUInt32Number inputChan, cmsUInt32Number outputChan,
+ const cmsUInt16Number* Table,
+ cmsUInt32Number dwFlags);
+
+CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLutFloat(cmsContext ContextID, cmsUInt32Number nGridPoints,
+ cmsUInt32Number inputChan, cmsUInt32Number outputChan,
+ const cmsFloat32Number* Table,
+ cmsUInt32Number dwFlags);
+
+CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLut16bitGranular(cmsContext ContextID, const cmsUInt32Number clutPoints[],
+ cmsUInt32Number inputChan, cmsUInt32Number outputChan,
+ const cmsUInt16Number* Table,
+ cmsUInt32Number dwFlags);
+
+CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLutFloatGranular(cmsContext ContextID, const cmsUInt32Number clutPoints[],
+ cmsUInt32Number inputChan, cmsUInt32Number outputChan,
+ const cmsFloat32Number* Table,
+ cmsUInt32Number dwFlags);
CMSAPI cmsStage* CMSEXPORT cmsStageDup(cmsStage* mpe);
CMSAPI void CMSEXPORT cmsStageFree(cmsStage* mpe);
diff --git a/include/lcms2_plugin.h b/include/lcms2_plugin.h
index fd90350..dae596f 100644
--- a/include/lcms2_plugin.h
+++ b/include/lcms2_plugin.h
@@ -260,7 +260,7 @@ typedef union {
// Flags for interpolator selection
#define CMS_LERP_FLAGS_16BITS 0x0000 // The default
#define CMS_LERP_FLAGS_FLOAT 0x0001 // Requires different implementation
-#define CMS_LERP_FLAGS_TRILINEAR 0x0100 // Hint only
+#define CMS_LERP_FLAGS_TRILINEAR cmsCLUT_FLAGS_TRILINEAR_INTERPOLATION // Hint only
#define MAX_INPUT_DIMENSIONS 8
diff --git a/src/cmscnvrt.c b/src/cmscnvrt.c
index 8dadc87..62b61a6 100644
--- a/src/cmscnvrt.c
+++ b/src/cmscnvrt.c
@@ -693,7 +693,7 @@ cmsPipeline* BlackPreservingKOnlyIntents(cmsContext ContextID,
nGridPoints = _cmsReasonableGridpointsByColorspace(cmsSigCmykData, dwFlags);
// Create the CLUT. 16 bits
- CLUT = cmsStageAllocCLut16bit(ContextID, nGridPoints, 4, 4, NULL);
+ CLUT = cmsStageAllocCLut16bit(ContextID, nGridPoints, 4, 4, NULL, 0);
if (CLUT == NULL) goto Error;
// This is the one and only MPE in this LUT
@@ -905,7 +905,7 @@ cmsPipeline* BlackPreservingKPlaneIntents(cmsContext ContextID,
nGridPoints = _cmsReasonableGridpointsByColorspace(cmsSigCmykData, dwFlags);
- CLUT = cmsStageAllocCLut16bit(ContextID, nGridPoints, 4, 4, NULL);
+ CLUT = cmsStageAllocCLut16bit(ContextID, nGridPoints, 4, 4, NULL, 0);
if (CLUT == NULL) goto Cleanup;
cmsPipelineInsertStage(Result, cmsAT_BEGIN, CLUT);
diff --git a/src/cmsgmt.c b/src/cmsgmt.c
index 8c9bac3..81de3e3 100644
--- a/src/cmsgmt.c
+++ b/src/cmsgmt.c
@@ -392,7 +392,7 @@ cmsPipeline* _cmsCreateGamutCheckPipeline(cmsContext ContextID,
if (Gamut != NULL) {
- CLUT = cmsStageAllocCLut16bit(ContextID, nGridpoints, nChannels, 1, NULL);
+ CLUT = cmsStageAllocCLut16bit(ContextID, nGridpoints, nChannels, 1, NULL, 0);
cmsPipelineInsertStage(Gamut, cmsAT_BEGIN, CLUT);
cmsStageSampleCLut16bit(CLUT, GamutSampler, (void*) &Chain, 0);
diff --git a/src/cmslut.c b/src/cmslut.c
index 473d7cf..9df9ec3 100644
--- a/src/cmslut.c
+++ b/src/cmslut.c
@@ -514,7 +514,8 @@ cmsStage* CMSEXPORT cmsStageAllocCLut16bitGranular(cmsContext ContextID,
const cmsUInt32Number clutPoints[],
cmsUInt32Number inputChan,
cmsUInt32Number outputChan,
- const cmsUInt16Number* Table)
+ const cmsUInt16Number* Table,
+ cmsUInt32Number dwFlags)
{
cmsUInt32Number i, n;
_cmsStageCLutData* NewElem;
@@ -543,7 +544,8 @@ cmsStage* CMSEXPORT cmsStageAllocCLut16bitGranular(cmsContext ContextID,
}
}
- NewElem ->Params = _cmsComputeInterpParamsEx(ContextID, clutPoints, inputChan, outputChan, NewElem ->Tab.T, CMS_LERP_FLAGS_16BITS);
+ NewElem ->Params = _cmsComputeInterpParamsEx(ContextID, clutPoints, inputChan, outputChan, NewElem ->Tab.T,
+ CMS_LERP_FLAGS_16BITS|dwFlags);
if (NewElem ->Params == NULL) {
cmsStageFree(NewMPE);
return NULL;
@@ -558,7 +560,8 @@ cmsStage* CMSEXPORT cmsStageAllocCLut16bit(cmsContext ContextID,
cmsUInt32Number nGridPoints,
cmsUInt32Number inputChan,
cmsUInt32Number outputChan,
- const cmsUInt16Number* Table)
+ const cmsUInt16Number* Table,
+ cmsUInt32Number dwFlags)
{
cmsUInt32Number Dimensions[MAX_INPUT_DIMENSIONS];
int i;
@@ -568,7 +571,7 @@ cmsStage* CMSEXPORT cmsStageAllocCLut16bit(cmsContext ContextID,
Dimensions[i] = nGridPoints;
- return cmsStageAllocCLut16bitGranular(ContextID, Dimensions, inputChan, outputChan, Table);
+ return cmsStageAllocCLut16bitGranular(ContextID, Dimensions, inputChan, outputChan, Table, dwFlags);
}
@@ -576,7 +579,8 @@ cmsStage* CMSEXPORT cmsStageAllocCLutFloat(cmsContext ContextID,
cmsUInt32Number nGridPoints,
cmsUInt32Number inputChan,
cmsUInt32Number outputChan,
- const cmsFloat32Number* Table)
+ const cmsFloat32Number* Table,
+ cmsUInt32Number dwFlags)
{
cmsUInt32Number Dimensions[MAX_INPUT_DIMENSIONS];
int i;
@@ -585,12 +589,15 @@ cmsStage* CMSEXPORT cmsStageAllocCLutFloat(cmsContext ContextID,
for (i=0; i < MAX_INPUT_DIMENSIONS; i++)
Dimensions[i] = nGridPoints;
- return cmsStageAllocCLutFloatGranular(ContextID, Dimensions, inputChan, outputChan, Table);
+ return cmsStageAllocCLutFloatGranular(ContextID, Dimensions, inputChan, outputChan, Table, dwFlags);
}
-cmsStage* CMSEXPORT cmsStageAllocCLutFloatGranular(cmsContext ContextID, const cmsUInt32Number clutPoints[], cmsUInt32Number inputChan, cmsUInt32Number outputChan, const cmsFloat32Number* Table)
+cmsStage* CMSEXPORT cmsStageAllocCLutFloatGranular(cmsContext ContextID, const cmsUInt32Number clutPoints[],
+ cmsUInt32Number inputChan, cmsUInt32Number outputChan,
+ const cmsFloat32Number* Table,
+ cmsUInt32Number dwFlags)
{
cmsUInt32Number i, n;
_cmsStageCLutData* NewElem;
@@ -620,7 +627,7 @@ cmsStage* CMSEXPORT cmsStageAllocCLutFloatGranular(cmsContext ContextID, const c
NewMPE ->Data = (void*) NewElem;
- NewElem ->Params = _cmsComputeInterpParamsEx(ContextID, clutPoints, inputChan, outputChan, NewElem ->Tab.TFloat, CMS_LERP_FLAGS_FLOAT);
+ NewElem ->Params = _cmsComputeInterpParamsEx(ContextID, clutPoints, inputChan, outputChan, NewElem ->Tab.TFloat, CMS_LERP_FLAGS_FLOAT|dwFlags);
if (NewElem ->Params == NULL) {
cmsStageFree(NewMPE);
return NULL;
@@ -654,7 +661,7 @@ cmsStage* _cmsStageAllocIdentityCLut(cmsContext ContextID, int nChan)
for (i=0; i < MAX_INPUT_DIMENSIONS; i++)
Dimensions[i] = 2;
- mpe = cmsStageAllocCLut16bitGranular(ContextID, Dimensions, nChan, nChan, NULL);
+ mpe = cmsStageAllocCLut16bitGranular(ContextID, Dimensions, nChan, nChan, NULL, 0);
if (mpe == NULL) return NULL;
if (!cmsStageSampleCLut16bit(mpe, IdentitySampler, &nChan, 0)) {
diff --git a/src/cmsopt.c b/src/cmsopt.c
index b1ce98e..f6f49dc 100644
--- a/src/cmsopt.c
+++ b/src/cmsopt.c
@@ -580,7 +580,7 @@ cmsBool OptimizeByResampling(cmsPipeline** Lut, cmsUInt32Number Intent, cmsUInt3
}
// Allocate the CLUT
- CLUT = cmsStageAllocCLut16bit(Src ->ContextID, nGridPoints, Src ->InputChannels, Src->OutputChannels, NULL);
+ CLUT = cmsStageAllocCLut16bit(Src ->ContextID, nGridPoints, Src ->InputChannels, Src->OutputChannels, NULL, 0);
if (CLUT == NULL) return FALSE;
// Add the CLUT to the destination LUT
@@ -980,7 +980,7 @@ cmsBool OptimizeByComputingLinearization(cmsPipeline** Lut, cmsUInt32Number Inte
cmsPipelineInsertStage(OptimizedLUT, cmsAT_BEGIN, OptimizedPrelinMpe);
// Allocate the CLUT for result
- OptimizedCLUTmpe = cmsStageAllocCLut16bit(OriginalLut ->ContextID, nGridPoints, OriginalLut ->InputChannels, OriginalLut ->OutputChannels, NULL);
+ OptimizedCLUTmpe = cmsStageAllocCLut16bit(OriginalLut ->ContextID, nGridPoints, OriginalLut ->InputChannels, OriginalLut ->OutputChannels, NULL, 0);
// Add the CLUT to the destination LUT
cmsPipelineInsertStage(OptimizedLUT, cmsAT_END, OptimizedCLUTmpe);
diff --git a/src/cmstypes.c b/src/cmstypes.c
index f619458..6bfa32c 100644
--- a/src/cmstypes.c
+++ b/src/cmstypes.c
@@ -1718,7 +1718,9 @@ void *Type_LUT8_Read(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, cms
Temp = NULL;
- mpeclut = cmsStageAllocCLut16bit(self ->ContextID, CLUTpoints, InputChannels, OutputChannels, T);
+ mpeclut = cmsStageAllocCLut16bit(self ->ContextID, CLUTpoints,
+ InputChannels, OutputChannels, T, cmsCLUT_FLAGS_TRILINEAR_INTERPOLATION);
+
if (mpeclut == NULL) goto Error;
cmsPipelineInsertStage(NewLUT, cmsAT_END, mpeclut);
_cmsFree(self ->ContextID, T);
@@ -2003,7 +2005,9 @@ void *Type_LUT16_Read(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, cm
if (!_cmsReadUInt16Array(io, nTabSize, T)) goto Error;
- mpeclut = cmsStageAllocCLut16bit(self ->ContextID, CLUTpoints, InputChannels, OutputChannels, T);
+ mpeclut = cmsStageAllocCLut16bit(self ->ContextID, CLUTpoints,
+ InputChannels, OutputChannels, T, cmsCLUT_FLAGS_TRILINEAR_INTERPOLATION);
+
if (mpeclut == NULL) goto Error;
cmsPipelineInsertStage(NewLUT, cmsAT_END, mpeclut);
_cmsFree(self ->ContextID, T);
@@ -2226,7 +2230,8 @@ cmsStage* ReadCLUT(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, cmsUI
if (!_cmsReadUInt8Number(io, NULL)) return NULL;
if (!_cmsReadUInt8Number(io, NULL)) return NULL;
- CLUT = cmsStageAllocCLut16bitGranular(self ->ContextID, GridPoints, InputChannels, OutputChannels, NULL);
+ CLUT = cmsStageAllocCLut16bitGranular(self ->ContextID, GridPoints,
+ InputChannels, OutputChannels, NULL, cmsCLUT_FLAGS_TRILINEAR_INTERPOLATION);
Data = (_cmsStageCLutData*) CLUT ->Data;
// Precision can be 1 or 2 bytes
@@ -4111,7 +4116,8 @@ void *Type_MPEclut_Read(struct _cms_typehandler_struct* self, cmsIOHANDLER* io,
for (i=0; i < nMaxGrids; i++) GridPoints[i] = Dimensions8[i];
// Allocate the true CLUT
- mpe = cmsStageAllocCLutFloatGranular(self ->ContextID, GridPoints, InputChans, OutputChans, NULL);
+ mpe = cmsStageAllocCLutFloatGranular(self ->ContextID, GridPoints, InputChans,
+ OutputChans, NULL, cmsCLUT_FLAGS_TRILINEAR_INTERPOLATION);
if (mpe == NULL) goto Error;
// Read the data
diff --git a/src/cmsvirt.c b/src/cmsvirt.c
index d189cdf..b42ffb8 100644
--- a/src/cmsvirt.c
+++ b/src/cmsvirt.c
@@ -417,7 +417,7 @@ cmsHPROFILE CMSEXPORT cmsCreateInkLimitingDeviceLinkTHR(cmsContext ContextID,
nChannels = cmsChannelsOf(ColorSpace);
- CLUT = cmsStageAllocCLut16bit(ContextID, 17, nChannels, nChannels, NULL);
+ CLUT = cmsStageAllocCLut16bit(ContextID, 17, nChannels, nChannels, NULL, 0);
if (CLUT == NULL) goto Error;
if (!cmsStageSampleCLut16bit(CLUT, InkLimitingSampler, (void*) &Limit, 0)) goto Error;
@@ -753,7 +753,7 @@ cmsHPROFILE CMSEXPORT cmsCreateBCHSWabstractProfileTHR(cmsContext ContextID,
}
for (i=0; i < MAX_INPUT_DIMENSIONS; i++) Dimensions[i] = nLUTPoints;
- CLUT = cmsStageAllocCLut16bitGranular(ContextID, Dimensions, 3, 3, NULL);
+ CLUT = cmsStageAllocCLut16bitGranular(ContextID, Dimensions, 3, 3, NULL, 0);
if (CLUT == NULL) return NULL;
diff --git a/testbed/testcms2.c b/testbed/testcms2.c
index 0a62384..e870aef 100644
--- a/testbed/testcms2.c
+++ b/testbed/testcms2.c
@@ -493,7 +493,7 @@ cmsHPROFILE CreateFakeCMYK(cmsFloat64Number InkLimit, cmsBool lUseAboveRGB)
BToA0 = cmsPipelineAlloc(ContextID, 3, 4);
if (BToA0 == NULL) return 0;
- CLUT = cmsStageAllocCLut16bit(ContextID, 17, 3, 4, NULL);
+ CLUT = cmsStageAllocCLut16bit(ContextID, 17, 3, 4, NULL, 0);
if (CLUT == NULL) return 0;
if (!cmsStageSampleCLut16bit(CLUT, ForwardSampler, &p, 0)) return 0;
@@ -506,7 +506,7 @@ cmsHPROFILE CreateFakeCMYK(cmsFloat64Number InkLimit, cmsBool lUseAboveRGB)
AToB0 = cmsPipelineAlloc(ContextID, 4, 3);
if (AToB0 == NULL) return 0;
- CLUT = cmsStageAllocCLut16bit(ContextID, 17, 4, 3, NULL);
+ CLUT = cmsStageAllocCLut16bit(ContextID, 17, 4, 3, NULL, 0);
if (CLUT == NULL) return 0;
if (!cmsStageSampleCLut16bit(CLUT, ReverseSampler, &p, 0)) return 0;
@@ -1420,7 +1420,7 @@ cmsInt32Number CheckReverseInterpolation3x3(void)
Lut = cmsPipelineAlloc(DbgThread(), 3, 3);
- clut = cmsStageAllocCLut16bit(DbgThread(), 2, 3, 3, Table);
+ clut = cmsStageAllocCLut16bit(DbgThread(), 2, 3, 3, Table, 0);
cmsPipelineInsertStage(Lut, cmsAT_BEGIN, clut);
Target[0] = 0; Target[1] = 0; Target[2] = 0;
@@ -1492,7 +1492,7 @@ cmsInt32Number CheckReverseInterpolation4x3(void)
Lut = cmsPipelineAlloc(DbgThread(), 4, 3);
- clut = cmsStageAllocCLut16bit(DbgThread(), 2, 4, 3, Table);
+ clut = cmsStageAllocCLut16bit(DbgThread(), 2, 4, 3, Table, 0);
cmsPipelineInsertStage(Lut, cmsAT_BEGIN, clut);
// Check if the LUT is behaving as expected
@@ -1811,7 +1811,7 @@ cmsInt32Number Check3Dinterp(void)
cmsStage* mpe;
lut = cmsPipelineAlloc(DbgThread(), 3, 3);
- mpe = cmsStageAllocCLut16bit(DbgThread(), 9, 3, 3, NULL);
+ mpe = cmsStageAllocCLut16bit(DbgThread(), 9, 3, 3, NULL, 0);
cmsStageSampleCLut16bit(mpe, Sampler3D, NULL, 0);
cmsPipelineInsertStage(lut, cmsAT_BEGIN, mpe);
@@ -1840,7 +1840,7 @@ cmsInt32Number Check3DinterpGranular(void)
cmsUInt32Number Dimensions[] = { 7, 8, 9 };
lut = cmsPipelineAlloc(DbgThread(), 3, 3);
- mpe = cmsStageAllocCLut16bitGranular(DbgThread(), Dimensions, 3, 3, NULL);
+ mpe = cmsStageAllocCLut16bitGranular(DbgThread(), Dimensions, 3, 3, NULL, 0);
cmsStageSampleCLut16bit(mpe, Sampler3D, NULL, 0);
cmsPipelineInsertStage(lut, cmsAT_BEGIN, mpe);
@@ -1869,7 +1869,7 @@ cmsInt32Number Check4Dinterp(void)
cmsStage* mpe;
lut = cmsPipelineAlloc(DbgThread(), 4, 3);
- mpe = cmsStageAllocCLut16bit(DbgThread(), 9, 4, 3, NULL);
+ mpe = cmsStageAllocCLut16bit(DbgThread(), 9, 4, 3, NULL, 0);
cmsStageSampleCLut16bit(mpe, Sampler4D, NULL, 0);
cmsPipelineInsertStage(lut, cmsAT_BEGIN, mpe);
@@ -1900,7 +1900,7 @@ cmsInt32Number Check4DinterpGranular(void)
cmsUInt32Number Dimensions[] = { 9, 8, 7, 6 };
lut = cmsPipelineAlloc(DbgThread(), 4, 3);
- mpe = cmsStageAllocCLut16bitGranular(DbgThread(), Dimensions, 4, 3, NULL);
+ mpe = cmsStageAllocCLut16bitGranular(DbgThread(), Dimensions, 4, 3, NULL, 0);
cmsStageSampleCLut16bit(mpe, Sampler4D, NULL, 0);
cmsPipelineInsertStage(lut, cmsAT_BEGIN, mpe);
@@ -1930,7 +1930,7 @@ cmsInt32Number Check5DinterpGranular(void)
cmsUInt32Number Dimensions[] = { 3, 2, 2, 2, 2 };
lut = cmsPipelineAlloc(DbgThread(), 5, 3);
- mpe = cmsStageAllocCLut16bitGranular(DbgThread(), Dimensions, 5, 3, NULL);
+ mpe = cmsStageAllocCLut16bitGranular(DbgThread(), Dimensions, 5, 3, NULL, 0);
cmsStageSampleCLut16bit(mpe, Sampler5D, NULL, 0);
cmsPipelineInsertStage(lut, cmsAT_BEGIN, mpe);
@@ -1959,7 +1959,7 @@ cmsInt32Number Check6DinterpGranular(void)
cmsUInt32Number Dimensions[] = { 4, 3, 3, 2, 2, 2 };
lut = cmsPipelineAlloc(DbgThread(), 6, 3);
- mpe = cmsStageAllocCLut16bitGranular(DbgThread(), Dimensions, 6, 3, NULL);
+ mpe = cmsStageAllocCLut16bitGranular(DbgThread(), Dimensions, 6, 3, NULL, 0);
cmsStageSampleCLut16bit(mpe, Sampler6D, NULL, 0);
cmsPipelineInsertStage(lut, cmsAT_BEGIN, mpe);
@@ -1988,7 +1988,7 @@ cmsInt32Number Check7DinterpGranular(void)
cmsUInt32Number Dimensions[] = { 4, 3, 3, 2, 2, 2, 2 };
lut = cmsPipelineAlloc(DbgThread(), 7, 3);
- mpe = cmsStageAllocCLut16bitGranular(DbgThread(), Dimensions, 7, 3, NULL);
+ mpe = cmsStageAllocCLut16bitGranular(DbgThread(), Dimensions, 7, 3, NULL, 0);
cmsStageSampleCLut16bit(mpe, Sampler7D, NULL, 0);
cmsPipelineInsertStage(lut, cmsAT_BEGIN, mpe);
@@ -2967,7 +2967,7 @@ void AddIdentityCLUTfloat(cmsPipeline* lut)
1.0, 1.0, 1.0
};
- cmsPipelineInsertStage(lut, cmsAT_END, cmsStageAllocCLutFloat(DbgThread(), 2, 3, 3, Table));
+ cmsPipelineInsertStage(lut, cmsAT_END, cmsStageAllocCLutFloat(DbgThread(), 2, 3, 3, Table, 0));
}
// Create a MPE for identity cmsFloat32Number CLUT
@@ -2990,7 +2990,7 @@ void AddIdentityCLUT16(cmsPipeline* lut)
};
- cmsPipelineInsertStage(lut, cmsAT_END, cmsStageAllocCLut16bit(DbgThread(), 2, 3, 3, Table));
+ cmsPipelineInsertStage(lut, cmsAT_END, cmsStageAllocCLut16bit(DbgThread(), 2, 3, 3, Table, 0));
}
@@ -5009,11 +5009,6 @@ cmsInt32Number CheckBadTransforms(void)
return 0;
}
- x1 = cmsCreateTransform(h1, 0, h1, 0, 0, 0);
- if (x1 != NULL) {
- cmsDeleteTransform(x1);
- return 0;
- }
x1 = cmsCreateTransform(h1, TYPE_RGB_8, h1, TYPE_RGB_8, 12345, 0);
if (x1 != NULL) {
diff --git a/utils/jpgicc/jpgicc.c b/utils/jpgicc/jpgicc.c
index c299c96..f110fb9 100644
--- a/utils/jpgicc/jpgicc.c
+++ b/utils/jpgicc/jpgicc.c
@@ -210,7 +210,7 @@ cmsHPROFILE CreateITU2PCS_ICC(void)
AToB0 = cmsPipelineAlloc(0, 3, 3);
if (AToB0 == NULL) return NULL;
- ColorMap = cmsStageAllocCLut16bit(0, GRID_POINTS, 3, 3, NULL);
+ ColorMap = cmsStageAllocCLut16bit(0, GRID_POINTS, 3, 3, NULL, 0);
if (ColorMap == NULL) return NULL;
cmsPipelineInsertStage(AToB0, cmsAT_BEGIN, ColorMap);
@@ -243,7 +243,7 @@ cmsHPROFILE CreatePCS2ITU_ICC(void)
BToA0 = cmsPipelineAlloc(0, 3, 3);
if (BToA0 == NULL) return NULL;
- ColorMap = cmsStageAllocCLut16bit(0, GRID_POINTS, 3, 3, NULL);
+ ColorMap = cmsStageAllocCLut16bit(0, GRID_POINTS, 3, 3, NULL, 0);
if (ColorMap == NULL) return NULL;
cmsPipelineInsertStage(BToA0, cmsAT_BEGIN, ColorMap);