diff options
-rw-r--r-- | src/cmstypes.c | 17 | ||||
-rw-r--r-- | utils/transicc/transicc.c | 2 |
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); |