Skip to content

Commit cf69bf9

Browse files
authored
Merge pull request #585 from 94xhn/fix-unroll-planar-words-premul-extra
Fix UnrollPlanarWordsPremul() skipping only 1 plane instead of Extra planes. Looks great, thank you
2 parents 589d877 + 354efbc commit cf69bf9

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

src/cmspack.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -659,15 +659,16 @@ cmsUInt8Number* UnrollPlanarWordsPremul(CMSREGISTER _cmsTRANSFORM* info,
659659
cmsUInt32Number SwapFirst = T_SWAPFIRST(info->InputFormat);
660660
cmsUInt32Number Reverse= T_FLAVOR(info ->InputFormat);
661661
cmsUInt32Number SwapEndian = T_ENDIAN16(info -> InputFormat);
662+
cmsUInt32Number Extra = T_EXTRA(info -> InputFormat);
662663
cmsUInt32Number i;
663664
cmsUInt32Number ExtraFirst = DoSwap ^ SwapFirst;
664665
cmsUInt8Number* Init = accum;
665-
666+
666667
cmsUInt16Number alpha = (ExtraFirst ? ((cmsUInt16Number*)accum)[0] : ((cmsUInt16Number*)accum)[nChan * Stride / 2]);
667668
cmsUInt32Number alpha_factor = _cmsToFixedDomain(alpha);
668669

669670
if (ExtraFirst) {
670-
accum += Stride;
671+
accum += Extra * Stride;
671672
}
672673

673674
for (i=0; i < nChan; i++) {

0 commit comments

Comments
 (0)