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--src/cmstypes.c17
-rw-r--r--utils/transicc/transicc.c2
2 files changed, 8 insertions, 11 deletions
diff --git a/src/cmstypes.c b/src/cmstypes.c
index abcce31..b780436 100644
--- a/src/cmstypes.c
+++ b/src/cmstypes.c
@@ -2138,9 +2138,9 @@ Error:
// Some empty defaults are created for missing parts
static
-cmsBool Type_LUT16_Write(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
+cmsBool Type_LUT16_Write(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
{
- cmsUInt32Number nTabSize, n;
+ cmsUInt32Number nTabSize;
cmsPipeline* NewLUT = (cmsPipeline*) Ptr;
cmsStage* mpe;
_cmsStageToneCurvesData* PreMPE = NULL, *PostMPE = NULL;
@@ -2153,6 +2153,7 @@ cmsBool Type_LUT16_Write(struct _cms_typehandler_struct* self, cmsIOHANDLER* io
if (mpe != NULL && mpe ->Type == cmsSigMatrixElemType) {
MatMPE = (_cmsStageMatrixData*) mpe ->Data;
+ if (mpe->InputChannels != 3 || mpe->OutputChannels != 3) return FALSE;
mpe = mpe -> Next;
}
@@ -2190,21 +2191,17 @@ cmsBool Type_LUT16_Write(struct _cms_typehandler_struct* self, cmsIOHANDLER* io
if (!_cmsWriteUInt8Number(io, (cmsUInt8Number) OutputChannels)) return FALSE;
if (!_cmsWriteUInt8Number(io, (cmsUInt8Number) clutPoints)) return FALSE;
if (!_cmsWriteUInt8Number(io, 0)) return FALSE; // Padding
-
- n = NewLUT->InputChannels * NewLUT->OutputChannels;
-
+
if (MatMPE != NULL) {
-
- for (i = 0; i < n; i++)
+
+ for (i = 0; i < 9; i++)
{
if (!_cmsWrite15Fixed16Number(io, MatMPE->Double[i])) return FALSE;
}
}
else {
-
- if (n != 9) return FALSE;
-
+
if (!_cmsWrite15Fixed16Number(io, 1)) return FALSE;
if (!_cmsWrite15Fixed16Number(io, 0)) return FALSE;
if (!_cmsWrite15Fixed16Number(io, 0)) return FALSE;
diff --git a/utils/transicc/transicc.c b/utils/transicc/transicc.c
index 2151f39..1dc67f8 100644
--- a/utils/transicc/transicc.c
+++ b/utils/transicc/transicc.c
@@ -102,7 +102,7 @@ void Help(void)
fprintf(stderr, "\t%cw - use 16 bits\n", SW);
fprintf(stderr, "\t%cx - Hexadecimal\n\n", SW);
- fprintf(stderr, "%cs - bounded mode (clip negatives and highliths)\n", SW);
+ fprintf(stderr, "%cs - bounded mode (clip negatives and highlights)\n", SW);
fprintf(stderr, "%cq - Quantize (round decimals)\n\n", SW);
fprintf(stderr, "%ci<profile> - Input profile (defaults to sRGB)\n", SW);