< prev index next >
src/java.desktop/share/native/liblcms/cmspack.c
Print this page
*** 28,38 ****
// file:
//
//---------------------------------------------------------------------------------
//
// Little Color Management System
! // Copyright (c) 1998-2017 Marti Maria Saguer
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
--- 28,38 ----
// file:
//
//---------------------------------------------------------------------------------
//
// Little Color Management System
! // Copyright (c) 1998-2020 Marti Maria Saguer
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
*** 119,132 ****
// Unpacking routines (16 bits) ----------------------------------------------------------------------------------------
// Does almost everything but is slow
static
! cmsUInt8Number* UnrollChunkyBytes(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
cmsUInt32Number SwapFirst = T_SWAPFIRST(info -> InputFormat);
--- 119,132 ----
// Unpacking routines (16 bits) ----------------------------------------------------------------------------------------
// Does almost everything but is slow
static
! cmsUInt8Number* UnrollChunkyBytes(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
cmsUInt32Number SwapFirst = T_SWAPFIRST(info -> InputFormat);
*** 166,179 ****
}
// Extra channels are just ignored because come in the next planes
static
! cmsUInt8Number* UnrollPlanarBytes(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number SwapFirst = T_SWAPFIRST(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
--- 166,179 ----
}
// Extra channels are just ignored because come in the next planes
static
! cmsUInt8Number* UnrollPlanarBytes(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number SwapFirst = T_SWAPFIRST(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
*** 196,209 ****
return (Init + 1);
}
// Special cases, provided for performance
static
! cmsUInt8Number* Unroll4Bytes(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = FROM_8_TO_16(*accum); accum++; // C
wIn[1] = FROM_8_TO_16(*accum); accum++; // M
wIn[2] = FROM_8_TO_16(*accum); accum++; // Y
wIn[3] = FROM_8_TO_16(*accum); accum++; // K
--- 196,209 ----
return (Init + 1);
}
// Special cases, provided for performance
static
! cmsUInt8Number* Unroll4Bytes(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = FROM_8_TO_16(*accum); accum++; // C
wIn[1] = FROM_8_TO_16(*accum); accum++; // M
wIn[2] = FROM_8_TO_16(*accum); accum++; // Y
wIn[3] = FROM_8_TO_16(*accum); accum++; // K
*** 213,226 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4BytesReverse(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = FROM_8_TO_16(REVERSE_FLAVOR_8(*accum)); accum++; // C
wIn[1] = FROM_8_TO_16(REVERSE_FLAVOR_8(*accum)); accum++; // M
wIn[2] = FROM_8_TO_16(REVERSE_FLAVOR_8(*accum)); accum++; // Y
wIn[3] = FROM_8_TO_16(REVERSE_FLAVOR_8(*accum)); accum++; // K
--- 213,226 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4BytesReverse(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = FROM_8_TO_16(REVERSE_FLAVOR_8(*accum)); accum++; // C
wIn[1] = FROM_8_TO_16(REVERSE_FLAVOR_8(*accum)); accum++; // M
wIn[2] = FROM_8_TO_16(REVERSE_FLAVOR_8(*accum)); accum++; // Y
wIn[3] = FROM_8_TO_16(REVERSE_FLAVOR_8(*accum)); accum++; // K
*** 230,243 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4BytesSwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[3] = FROM_8_TO_16(*accum); accum++; // K
wIn[0] = FROM_8_TO_16(*accum); accum++; // C
wIn[1] = FROM_8_TO_16(*accum); accum++; // M
wIn[2] = FROM_8_TO_16(*accum); accum++; // Y
--- 230,243 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4BytesSwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[3] = FROM_8_TO_16(*accum); accum++; // K
wIn[0] = FROM_8_TO_16(*accum); accum++; // C
wIn[1] = FROM_8_TO_16(*accum); accum++; // M
wIn[2] = FROM_8_TO_16(*accum); accum++; // Y
*** 248,261 ****
cmsUNUSED_PARAMETER(Stride);
}
// KYMC
static
! cmsUInt8Number* Unroll4BytesSwap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[3] = FROM_8_TO_16(*accum); accum++; // K
wIn[2] = FROM_8_TO_16(*accum); accum++; // Y
wIn[1] = FROM_8_TO_16(*accum); accum++; // M
wIn[0] = FROM_8_TO_16(*accum); accum++; // C
--- 248,261 ----
cmsUNUSED_PARAMETER(Stride);
}
// KYMC
static
! cmsUInt8Number* Unroll4BytesSwap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[3] = FROM_8_TO_16(*accum); accum++; // K
wIn[2] = FROM_8_TO_16(*accum); accum++; // Y
wIn[1] = FROM_8_TO_16(*accum); accum++; // M
wIn[0] = FROM_8_TO_16(*accum); accum++; // C
*** 265,278 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4BytesSwapSwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[2] = FROM_8_TO_16(*accum); accum++; // K
wIn[1] = FROM_8_TO_16(*accum); accum++; // Y
wIn[0] = FROM_8_TO_16(*accum); accum++; // M
wIn[3] = FROM_8_TO_16(*accum); accum++; // C
--- 265,278 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4BytesSwapSwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[2] = FROM_8_TO_16(*accum); accum++; // K
wIn[1] = FROM_8_TO_16(*accum); accum++; // Y
wIn[0] = FROM_8_TO_16(*accum); accum++; // M
wIn[3] = FROM_8_TO_16(*accum); accum++; // C
*** 282,295 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3Bytes(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = FROM_8_TO_16(*accum); accum++; // R
wIn[1] = FROM_8_TO_16(*accum); accum++; // G
wIn[2] = FROM_8_TO_16(*accum); accum++; // B
--- 282,295 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3Bytes(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = FROM_8_TO_16(*accum); accum++; // R
wIn[1] = FROM_8_TO_16(*accum); accum++; // G
wIn[2] = FROM_8_TO_16(*accum); accum++; // B
*** 298,311 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3BytesSkip1Swap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
accum++; // A
wIn[2] = FROM_8_TO_16(*accum); accum++; // B
wIn[1] = FROM_8_TO_16(*accum); accum++; // G
wIn[0] = FROM_8_TO_16(*accum); accum++; // R
--- 298,311 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3BytesSkip1Swap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
accum++; // A
wIn[2] = FROM_8_TO_16(*accum); accum++; // B
wIn[1] = FROM_8_TO_16(*accum); accum++; // G
wIn[0] = FROM_8_TO_16(*accum); accum++; // R
*** 315,328 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3BytesSkip1SwapSwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[2] = FROM_8_TO_16(*accum); accum++; // B
wIn[1] = FROM_8_TO_16(*accum); accum++; // G
wIn[0] = FROM_8_TO_16(*accum); accum++; // R
accum++; // A
--- 315,328 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3BytesSkip1SwapSwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[2] = FROM_8_TO_16(*accum); accum++; // B
wIn[1] = FROM_8_TO_16(*accum); accum++; // G
wIn[0] = FROM_8_TO_16(*accum); accum++; // R
accum++; // A
*** 332,345 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3BytesSkip1SwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
accum++; // A
wIn[0] = FROM_8_TO_16(*accum); accum++; // R
wIn[1] = FROM_8_TO_16(*accum); accum++; // G
wIn[2] = FROM_8_TO_16(*accum); accum++; // B
--- 332,345 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3BytesSkip1SwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
accum++; // A
wIn[0] = FROM_8_TO_16(*accum); accum++; // R
wIn[1] = FROM_8_TO_16(*accum); accum++; // G
wIn[2] = FROM_8_TO_16(*accum); accum++; // B
*** 351,364 ****
}
// BRG
static
! cmsUInt8Number* Unroll3BytesSwap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[2] = FROM_8_TO_16(*accum); accum++; // B
wIn[1] = FROM_8_TO_16(*accum); accum++; // G
wIn[0] = FROM_8_TO_16(*accum); accum++; // R
--- 351,364 ----
}
// BRG
static
! cmsUInt8Number* Unroll3BytesSwap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[2] = FROM_8_TO_16(*accum); accum++; // B
wIn[1] = FROM_8_TO_16(*accum); accum++; // G
wIn[0] = FROM_8_TO_16(*accum); accum++; // R
*** 367,380 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* UnrollLabV2_8(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // L
wIn[1] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // a
wIn[2] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // b
--- 367,380 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* UnrollLabV2_8(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // L
wIn[1] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // a
wIn[2] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // b
*** 383,396 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* UnrollALabV2_8(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
accum++; // A
wIn[0] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // L
wIn[1] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // a
wIn[2] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // b
--- 383,396 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* UnrollALabV2_8(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
accum++; // A
wIn[0] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // L
wIn[1] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // a
wIn[2] = FomLabV2ToLabV4(FROM_8_TO_16(*accum)); accum++; // b
*** 400,413 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* UnrollLabV2_16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = FomLabV2ToLabV4(*(cmsUInt16Number*) accum); accum += 2; // L
wIn[1] = FomLabV2ToLabV4(*(cmsUInt16Number*) accum); accum += 2; // a
wIn[2] = FomLabV2ToLabV4(*(cmsUInt16Number*) accum); accum += 2; // b
--- 400,413 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* UnrollLabV2_16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = FomLabV2ToLabV4(*(cmsUInt16Number*) accum); accum += 2; // L
wIn[1] = FomLabV2ToLabV4(*(cmsUInt16Number*) accum); accum += 2; // a
wIn[2] = FomLabV2ToLabV4(*(cmsUInt16Number*) accum); accum += 2; // b
*** 417,430 ****
cmsUNUSED_PARAMETER(Stride);
}
// for duplex
static
! cmsUInt8Number* Unroll2Bytes(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = FROM_8_TO_16(*accum); accum++; // ch1
wIn[1] = FROM_8_TO_16(*accum); accum++; // ch2
return accum;
--- 417,430 ----
cmsUNUSED_PARAMETER(Stride);
}
// for duplex
static
! cmsUInt8Number* Unroll2Bytes(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = FROM_8_TO_16(*accum); accum++; // ch1
wIn[1] = FROM_8_TO_16(*accum); accum++; // ch2
return accum;
*** 436,449 ****
// Monochrome duplicates L into RGB for null-transforms
static
! cmsUInt8Number* Unroll1Byte(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = FROM_8_TO_16(*accum); accum++; // L
return accum;
--- 436,449 ----
// Monochrome duplicates L into RGB for null-transforms
static
! cmsUInt8Number* Unroll1Byte(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = FROM_8_TO_16(*accum); accum++; // L
return accum;
*** 451,464 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1ByteSkip1(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = FROM_8_TO_16(*accum); accum++; // L
accum += 1;
return accum;
--- 451,464 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1ByteSkip1(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = FROM_8_TO_16(*accum); accum++; // L
accum += 1;
return accum;
*** 466,479 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1ByteSkip2(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = FROM_8_TO_16(*accum); accum++; // L
accum += 2;
return accum;
--- 466,479 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1ByteSkip2(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = FROM_8_TO_16(*accum); accum++; // L
accum += 2;
return accum;
*** 481,494 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1ByteReversed(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = REVERSE_FLAVOR_16(FROM_8_TO_16(*accum)); accum++; // L
return accum;
--- 481,494 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1ByteReversed(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = REVERSE_FLAVOR_16(FROM_8_TO_16(*accum)); accum++; // L
return accum;
*** 496,509 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* UnrollAnyWords(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number SwapEndian = T_ENDIAN16(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
--- 496,509 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* UnrollAnyWords(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number SwapEndian = T_ENDIAN16(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
*** 545,558 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* UnrollPlanarWords(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap= T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse= T_FLAVOR(info ->InputFormat);
cmsUInt32Number SwapEndian = T_ENDIAN16(info -> InputFormat);
--- 545,558 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* UnrollPlanarWords(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap= T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse= T_FLAVOR(info ->InputFormat);
cmsUInt32Number SwapEndian = T_ENDIAN16(info -> InputFormat);
*** 579,592 ****
return (Init + sizeof(cmsUInt16Number));
}
static
! cmsUInt8Number* Unroll4Words(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // C
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // M
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // Y
wIn[3] = *(cmsUInt16Number*) accum; accum+= 2; // K
--- 579,592 ----
return (Init + sizeof(cmsUInt16Number));
}
static
! cmsUInt8Number* Unroll4Words(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // C
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // M
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // Y
wIn[3] = *(cmsUInt16Number*) accum; accum+= 2; // K
*** 596,609 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4WordsReverse(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = REVERSE_FLAVOR_16(*(cmsUInt16Number*) accum); accum+= 2; // C
wIn[1] = REVERSE_FLAVOR_16(*(cmsUInt16Number*) accum); accum+= 2; // M
wIn[2] = REVERSE_FLAVOR_16(*(cmsUInt16Number*) accum); accum+= 2; // Y
wIn[3] = REVERSE_FLAVOR_16(*(cmsUInt16Number*) accum); accum+= 2; // K
--- 596,609 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4WordsReverse(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = REVERSE_FLAVOR_16(*(cmsUInt16Number*) accum); accum+= 2; // C
wIn[1] = REVERSE_FLAVOR_16(*(cmsUInt16Number*) accum); accum+= 2; // M
wIn[2] = REVERSE_FLAVOR_16(*(cmsUInt16Number*) accum); accum+= 2; // Y
wIn[3] = REVERSE_FLAVOR_16(*(cmsUInt16Number*) accum); accum+= 2; // K
*** 613,626 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4WordsSwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[3] = *(cmsUInt16Number*) accum; accum+= 2; // K
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // C
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // M
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // Y
--- 613,626 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4WordsSwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[3] = *(cmsUInt16Number*) accum; accum+= 2; // K
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // C
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // M
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // Y
*** 631,644 ****
cmsUNUSED_PARAMETER(Stride);
}
// KYMC
static
! cmsUInt8Number* Unroll4WordsSwap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[3] = *(cmsUInt16Number*) accum; accum+= 2; // K
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // Y
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // M
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // C
--- 631,644 ----
cmsUNUSED_PARAMETER(Stride);
}
// KYMC
static
! cmsUInt8Number* Unroll4WordsSwap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[3] = *(cmsUInt16Number*) accum; accum+= 2; // K
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // Y
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // M
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // C
*** 648,661 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4WordsSwapSwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // K
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // Y
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // M
wIn[3] = *(cmsUInt16Number*) accum; accum+= 2; // C
--- 648,661 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll4WordsSwapSwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // K
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // Y
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // M
wIn[3] = *(cmsUInt16Number*) accum; accum+= 2; // C
*** 665,678 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3Words(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // C R
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // M G
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // Y B
--- 665,678 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3Words(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // C R
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // M G
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // Y B
*** 681,694 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3WordsSwap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // C R
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // M G
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // Y B
--- 681,694 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3WordsSwap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // C R
wIn[1] = *(cmsUInt16Number*) accum; accum+= 2; // M G
wIn[0] = *(cmsUInt16Number*) accum; accum+= 2; // Y B
*** 697,710 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3WordsSkip1Swap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
accum += 2; // A
wIn[2] = *(cmsUInt16Number*) accum; accum += 2; // R
wIn[1] = *(cmsUInt16Number*) accum; accum += 2; // G
wIn[0] = *(cmsUInt16Number*) accum; accum += 2; // B
--- 697,710 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3WordsSkip1Swap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
accum += 2; // A
wIn[2] = *(cmsUInt16Number*) accum; accum += 2; // R
wIn[1] = *(cmsUInt16Number*) accum; accum += 2; // G
wIn[0] = *(cmsUInt16Number*) accum; accum += 2; // B
*** 714,727 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3WordsSkip1SwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
accum += 2; // A
wIn[0] = *(cmsUInt16Number*) accum; accum += 2; // R
wIn[1] = *(cmsUInt16Number*) accum; accum += 2; // G
wIn[2] = *(cmsUInt16Number*) accum; accum += 2; // B
--- 714,727 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll3WordsSkip1SwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
accum += 2; // A
wIn[0] = *(cmsUInt16Number*) accum; accum += 2; // R
wIn[1] = *(cmsUInt16Number*) accum; accum += 2; // G
wIn[2] = *(cmsUInt16Number*) accum; accum += 2; // B
*** 731,772 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1Word(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // L
return accum;
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1WordReversed(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = REVERSE_FLAVOR_16(*(cmsUInt16Number*) accum); accum+= 2;
return accum;
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1WordSkip3(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = *(cmsUInt16Number*) accum;
accum += 8;
--- 731,772 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1Word(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = *(cmsUInt16Number*) accum; accum+= 2; // L
return accum;
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1WordReversed(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = REVERSE_FLAVOR_16(*(cmsUInt16Number*) accum); accum+= 2;
return accum;
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll1WordSkip3(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = wIn[1] = wIn[2] = *(cmsUInt16Number*) accum;
accum += 8;
*** 775,788 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll2Words(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
wIn[0] = *(cmsUInt16Number*) accum; accum += 2; // ch1
wIn[1] = *(cmsUInt16Number*) accum; accum += 2; // ch2
return accum;
--- 775,788 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Unroll2Words(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
wIn[0] = *(cmsUInt16Number*) accum; accum += 2; // ch1
wIn[1] = *(cmsUInt16Number*) accum; accum += 2; // ch2
return accum;
*** 792,805 ****
}
// This is a conversion of Lab double to 16 bits
static
! cmsUInt8Number* UnrollLabDoubleTo16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
if (T_PLANAR(info -> InputFormat)) {
cmsCIELab Lab;
cmsUInt8Number* pos_L;
--- 792,805 ----
}
// This is a conversion of Lab double to 16 bits
static
! cmsUInt8Number* UnrollLabDoubleTo16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
if (T_PLANAR(info -> InputFormat)) {
cmsCIELab Lab;
cmsUInt8Number* pos_L;
*** 826,839 ****
}
// This is a conversion of Lab float to 16 bits
static
! cmsUInt8Number* UnrollLabFloatTo16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
cmsCIELab Lab;
if (T_PLANAR(info -> InputFormat)) {
--- 826,839 ----
}
// This is a conversion of Lab float to 16 bits
static
! cmsUInt8Number* UnrollLabFloatTo16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsCIELab Lab;
if (T_PLANAR(info -> InputFormat)) {
*** 864,877 ****
}
}
// This is a conversion of XYZ double to 16 bits
static
! cmsUInt8Number* UnrollXYZDoubleTo16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
if (T_PLANAR(info -> InputFormat)) {
cmsCIEXYZ XYZ;
cmsUInt8Number* pos_X;
--- 864,877 ----
}
}
// This is a conversion of XYZ double to 16 bits
static
! cmsUInt8Number* UnrollXYZDoubleTo16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
if (T_PLANAR(info -> InputFormat)) {
cmsCIEXYZ XYZ;
cmsUInt8Number* pos_X;
*** 900,913 ****
}
}
// This is a conversion of XYZ float to 16 bits
static
! cmsUInt8Number* UnrollXYZFloatTo16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
if (T_PLANAR(info -> InputFormat)) {
cmsCIEXYZ XYZ;
cmsUInt8Number* pos_X;
--- 900,913 ----
}
}
// This is a conversion of XYZ float to 16 bits
static
! cmsUInt8Number* UnrollXYZFloatTo16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
if (T_PLANAR(info -> InputFormat)) {
cmsCIEXYZ XYZ;
cmsUInt8Number* pos_X;
*** 980,993 ****
return fmt_bytes;
}
// Inks does come in percentage, remaining cases are between 0..1.0, again to 16 bits
static
! cmsUInt8Number* UnrollDoubleTo16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
--- 980,993 ----
return fmt_bytes;
}
// Inks does come in percentage, remaining cases are between 0..1.0, again to 16 bits
static
! cmsUInt8Number* UnrollDoubleTo16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
*** 1038,1051 ****
}
static
! cmsUInt8Number* UnrollFloatTo16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
--- 1038,1051 ----
}
static
! cmsUInt8Number* UnrollFloatTo16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
*** 1097,1110 ****
// For 1 channel, we need to duplicate data (it comes in 0..1.0 range)
static
! cmsUInt8Number* UnrollDouble1Chan(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
cmsFloat64Number* Inks = (cmsFloat64Number*) accum;
wIn[0] = wIn[1] = wIn[2] = _cmsQuickSaturateWord(Inks[0] * 65535.0);
--- 1097,1110 ----
// For 1 channel, we need to duplicate data (it comes in 0..1.0 range)
static
! cmsUInt8Number* UnrollDouble1Chan(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsFloat64Number* Inks = (cmsFloat64Number*) accum;
wIn[0] = wIn[1] = wIn[2] = _cmsQuickSaturateWord(Inks[0] * 65535.0);
*** 1350,1363 ****
// Generic chunky for byte
static
! cmsUInt8Number* PackAnyBytes(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->OutputFormat);
cmsUInt32Number Extra = T_EXTRA(info -> OutputFormat);
--- 1350,1363 ----
// Generic chunky for byte
static
! cmsUInt8Number* PackAnyBytes(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->OutputFormat);
cmsUInt32Number Extra = T_EXTRA(info -> OutputFormat);
*** 1402,1415 ****
}
static
! cmsUInt8Number* PackAnyWords(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> OutputFormat);
cmsUInt32Number SwapEndian = T_ENDIAN16(info -> OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->OutputFormat);
--- 1402,1415 ----
}
static
! cmsUInt8Number* PackAnyWords(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> OutputFormat);
cmsUInt32Number SwapEndian = T_ENDIAN16(info -> OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->OutputFormat);
*** 1459,1472 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* PackPlanarBytes(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->OutputFormat);
cmsUInt32Number SwapFirst = T_SWAPFIRST(info ->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->OutputFormat);
--- 1459,1472 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* PackPlanarBytes(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->OutputFormat);
cmsUInt32Number SwapFirst = T_SWAPFIRST(info ->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->OutputFormat);
*** 1493,1506 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* PackPlanarWords(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->OutputFormat);
cmsUInt32Number SwapEndian = T_ENDIAN16(info -> OutputFormat);
--- 1493,1506 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* PackPlanarWords(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->OutputFormat);
cmsUInt32Number SwapEndian = T_ENDIAN16(info -> OutputFormat);
*** 1532,1545 ****
}
// CMYKcm (unrolled for speed)
static
! cmsUInt8Number* Pack6Bytes(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[3]);
--- 1532,1545 ----
}
// CMYKcm (unrolled for speed)
static
! cmsUInt8Number* Pack6Bytes(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[3]);
*** 1553,1566 ****
}
// KCMYcm
static
! cmsUInt8Number* Pack6BytesSwap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[5]);
*output++ = FROM_16_TO_8(wOut[4]);
*output++ = FROM_16_TO_8(wOut[3]);
*output++ = FROM_16_TO_8(wOut[2]);
--- 1553,1566 ----
}
// KCMYcm
static
! cmsUInt8Number* Pack6BytesSwap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[5]);
*output++ = FROM_16_TO_8(wOut[4]);
*output++ = FROM_16_TO_8(wOut[3]);
*output++ = FROM_16_TO_8(wOut[2]);
*** 1573,1586 ****
cmsUNUSED_PARAMETER(Stride);
}
// CMYKcm
static
! cmsUInt8Number* Pack6Words(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
--- 1573,1586 ----
cmsUNUSED_PARAMETER(Stride);
}
// CMYKcm
static
! cmsUInt8Number* Pack6Words(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
*** 1599,1612 ****
cmsUNUSED_PARAMETER(Stride);
}
// KCMYcm
static
! cmsUInt8Number* Pack6WordsSwap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[5];
output+= 2;
*(cmsUInt16Number*) output = wOut[4];
output+= 2;
--- 1599,1612 ----
cmsUNUSED_PARAMETER(Stride);
}
// KCMYcm
static
! cmsUInt8Number* Pack6WordsSwap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[5];
output+= 2;
*(cmsUInt16Number*) output = wOut[4];
output+= 2;
*** 1625,1638 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4Bytes(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[3]);
--- 1625,1638 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4Bytes(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[3]);
*** 1642,1655 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4BytesReverse(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = REVERSE_FLAVOR_8(FROM_16_TO_8(wOut[0]));
*output++ = REVERSE_FLAVOR_8(FROM_16_TO_8(wOut[1]));
*output++ = REVERSE_FLAVOR_8(FROM_16_TO_8(wOut[2]));
*output++ = REVERSE_FLAVOR_8(FROM_16_TO_8(wOut[3]));
--- 1642,1655 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4BytesReverse(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = REVERSE_FLAVOR_8(FROM_16_TO_8(wOut[0]));
*output++ = REVERSE_FLAVOR_8(FROM_16_TO_8(wOut[1]));
*output++ = REVERSE_FLAVOR_8(FROM_16_TO_8(wOut[2]));
*output++ = REVERSE_FLAVOR_8(FROM_16_TO_8(wOut[3]));
*** 1660,1673 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4BytesSwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[3]);
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
--- 1660,1673 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4BytesSwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[3]);
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
*** 1678,1691 ****
cmsUNUSED_PARAMETER(Stride);
}
// ABGR
static
! cmsUInt8Number* Pack4BytesSwap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[3]);
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[0]);
--- 1678,1691 ----
cmsUNUSED_PARAMETER(Stride);
}
// ABGR
static
! cmsUInt8Number* Pack4BytesSwap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[3]);
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[0]);
*** 1695,1708 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4BytesSwapSwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[3]);
--- 1695,1708 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4BytesSwapSwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[3]);
*** 1712,1725 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4Words(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
--- 1712,1725 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4Words(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
*** 1733,1746 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4WordsReverse(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = REVERSE_FLAVOR_16(wOut[0]);
output+= 2;
*(cmsUInt16Number*) output = REVERSE_FLAVOR_16(wOut[1]);
output+= 2;
--- 1733,1746 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack4WordsReverse(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = REVERSE_FLAVOR_16(wOut[0]);
output+= 2;
*(cmsUInt16Number*) output = REVERSE_FLAVOR_16(wOut[1]);
output+= 2;
*** 1755,1768 ****
cmsUNUSED_PARAMETER(Stride);
}
// ABGR
static
! cmsUInt8Number* Pack4WordsSwap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[3];
output+= 2;
*(cmsUInt16Number*) output = wOut[2];
output+= 2;
--- 1755,1768 ----
cmsUNUSED_PARAMETER(Stride);
}
// ABGR
static
! cmsUInt8Number* Pack4WordsSwap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[3];
output+= 2;
*(cmsUInt16Number*) output = wOut[2];
output+= 2;
*** 1777,1790 ****
cmsUNUSED_PARAMETER(Stride);
}
// CMYK
static
! cmsUInt8Number* Pack4WordsBigEndian(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = CHANGE_ENDIAN(wOut[0]);
output+= 2;
*(cmsUInt16Number*) output = CHANGE_ENDIAN(wOut[1]);
output+= 2;
--- 1777,1790 ----
cmsUNUSED_PARAMETER(Stride);
}
// CMYK
static
! cmsUInt8Number* Pack4WordsBigEndian(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = CHANGE_ENDIAN(wOut[0]);
output+= 2;
*(cmsUInt16Number*) output = CHANGE_ENDIAN(wOut[1]);
output+= 2;
*** 1799,1812 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* PackLabV2_8(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[0]));
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[1]));
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[2]));
--- 1799,1812 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* PackLabV2_8(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[0]));
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[1]));
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[2]));
*** 1815,1828 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* PackALabV2_8(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
output++;
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[0]));
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[1]));
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[2]));
--- 1815,1828 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* PackALabV2_8(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
output++;
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[0]));
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[1]));
*output++ = FROM_16_TO_8(FomLabV4ToLabV2(wOut[2]));
*** 1832,1845 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* PackLabV2_16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = FomLabV4ToLabV2(wOut[0]);
output += 2;
*(cmsUInt16Number*) output = FomLabV4ToLabV2(wOut[1]);
output += 2;
--- 1832,1845 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* PackLabV2_16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = FomLabV4ToLabV2(wOut[0]);
output += 2;
*(cmsUInt16Number*) output = FomLabV4ToLabV2(wOut[1]);
output += 2;
*** 1851,1864 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3Bytes(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
--- 1851,1864 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3Bytes(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
*** 1867,1880 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesOptimized(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = (wOut[0] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[2] & 0xFFU);
--- 1867,1880 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesOptimized(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = (wOut[0] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[2] & 0xFFU);
*** 1883,1896 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesSwap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[0]);
--- 1883,1896 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesSwap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[0]);
*** 1899,1912 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesSwapOptimized(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = (wOut[2] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[0] & 0xFFU);
--- 1899,1912 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesSwapOptimized(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = (wOut[2] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[0] & 0xFFU);
*** 1916,1929 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3Words(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
--- 1916,1929 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3Words(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
*** 1935,1948 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsSwap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[2];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
--- 1935,1948 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsSwap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[2];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
*** 1954,1967 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsBigEndian(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = CHANGE_ENDIAN(wOut[0]);
output+= 2;
*(cmsUInt16Number*) output = CHANGE_ENDIAN(wOut[1]);
output+= 2;
--- 1954,1967 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsBigEndian(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = CHANGE_ENDIAN(wOut[0]);
output+= 2;
*(cmsUInt16Number*) output = CHANGE_ENDIAN(wOut[1]);
output+= 2;
*** 1973,1986 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
output++;
--- 1973,1986 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
output++;
*** 1990,2003 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1Optimized(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = (wOut[0] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[2] & 0xFFU);
output++;
--- 1990,2003 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1Optimized(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = (wOut[0] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[2] & 0xFFU);
output++;
*** 2008,2021 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1SwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
output++;
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
--- 2008,2021 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1SwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
output++;
*output++ = FROM_16_TO_8(wOut[0]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[2]);
*** 2025,2038 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1SwapFirstOptimized(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
output++;
*output++ = (wOut[0] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[2] & 0xFFU);
--- 2025,2038 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1SwapFirstOptimized(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
output++;
*output++ = (wOut[0] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[2] & 0xFFU);
*** 2042,2055 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1Swap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
output++;
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[0]);
--- 2042,2055 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1Swap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
output++;
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[0]);
*** 2059,2072 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1SwapOptimized(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
output++;
*output++ = (wOut[2] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[0] & 0xFFU);
--- 2059,2072 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1SwapOptimized(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
output++;
*output++ = (wOut[2] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[0] & 0xFFU);
*** 2077,2090 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1SwapSwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[0]);
output++;
--- 2077,2090 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1SwapSwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[2]);
*output++ = FROM_16_TO_8(wOut[1]);
*output++ = FROM_16_TO_8(wOut[0]);
output++;
*** 2094,2107 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1SwapSwapFirstOptimized(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = (wOut[2] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[0] & 0xFFU);
output++;
--- 2094,2107 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3BytesAndSkip1SwapSwapFirstOptimized(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = (wOut[2] & 0xFFU);
*output++ = (wOut[1] & 0xFFU);
*output++ = (wOut[0] & 0xFFU);
output++;
*** 2111,2124 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsAndSkip1(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
--- 2111,2124 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsAndSkip1(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
*** 2131,2144 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsAndSkip1Swap(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
output+= 2;
*(cmsUInt16Number*) output = wOut[2];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
--- 2131,2144 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsAndSkip1Swap(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
output+= 2;
*(cmsUInt16Number*) output = wOut[2];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
*** 2152,2165 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsAndSkip1SwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
output+= 2;
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
--- 2152,2165 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsAndSkip1SwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
output+= 2;
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
*** 2173,2186 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsAndSkip1SwapSwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[2];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
--- 2173,2186 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack3WordsAndSkip1SwapSwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[2];
output+= 2;
*(cmsUInt16Number*) output = wOut[1];
output+= 2;
*** 2195,2208 ****
}
static
! cmsUInt8Number* Pack1Byte(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
return output;
--- 2195,2208 ----
}
static
! cmsUInt8Number* Pack1Byte(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
return output;
*** 2210,2223 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1ByteReversed(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(REVERSE_FLAVOR_16(wOut[0]));
return output;
--- 2210,2223 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1ByteReversed(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(REVERSE_FLAVOR_16(wOut[0]));
return output;
*** 2225,2238 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1ByteSkip1(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
output++;
return output;
--- 2225,2238 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1ByteSkip1(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*output++ = FROM_16_TO_8(wOut[0]);
output++;
return output;
*** 2241,2254 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1ByteSkip1SwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
output++;
*output++ = FROM_16_TO_8(wOut[0]);
return output;
--- 2241,2254 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1ByteSkip1SwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
output++;
*output++ = FROM_16_TO_8(wOut[0]);
return output;
*** 2256,2269 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1Word(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
return output;
--- 2256,2269 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1Word(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
return output;
*** 2272,2285 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1WordReversed(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = REVERSE_FLAVOR_16(wOut[0]);
output+= 2;
return output;
--- 2272,2285 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1WordReversed(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = REVERSE_FLAVOR_16(wOut[0]);
output+= 2;
return output;
*** 2287,2300 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1WordBigEndian(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = CHANGE_ENDIAN(wOut[0]);
output+= 2;
return output;
--- 2287,2300 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1WordBigEndian(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = CHANGE_ENDIAN(wOut[0]);
output+= 2;
return output;
*** 2303,2316 ****
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1WordSkip1(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 4;
return output;
--- 2303,2316 ----
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1WordSkip1(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
*(cmsUInt16Number*) output = wOut[0];
output+= 4;
return output;
*** 2318,2331 ****
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1WordSkip1SwapFirst(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
output += 2;
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
--- 2318,2331 ----
cmsUNUSED_PARAMETER(info);
cmsUNUSED_PARAMETER(Stride);
}
static
! cmsUInt8Number* Pack1WordSkip1SwapFirst(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
output += 2;
*(cmsUInt16Number*) output = wOut[0];
output+= 2;
*** 2336,2349 ****
}
// Unencoded Float values -- don't try optimize speed
static
! cmsUInt8Number* PackLabDoubleFrom16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
if (T_PLANAR(info -> OutputFormat)) {
cmsCIELab Lab;
--- 2336,2349 ----
}
// Unencoded Float values -- don't try optimize speed
static
! cmsUInt8Number* PackLabDoubleFrom16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
if (T_PLANAR(info -> OutputFormat)) {
cmsCIELab Lab;
*** 2363,2376 ****
}
}
static
! cmsUInt8Number* PackLabFloatFrom16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
cmsCIELab Lab;
cmsLabEncoded2Float(&Lab, wOut);
if (T_PLANAR(info -> OutputFormat)) {
--- 2363,2376 ----
}
}
static
! cmsUInt8Number* PackLabFloatFrom16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsCIELab Lab;
cmsLabEncoded2Float(&Lab, wOut);
if (T_PLANAR(info -> OutputFormat)) {
*** 2394,2407 ****
return output + (3 + T_EXTRA(info ->OutputFormat)) * sizeof(cmsFloat32Number);
}
}
static
! cmsUInt8Number* PackXYZDoubleFrom16(register _cmsTRANSFORM* Info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
if (T_PLANAR(Info -> OutputFormat)) {
cmsCIEXYZ XYZ;
cmsFloat64Number* Out = (cmsFloat64Number*) output;
--- 2394,2407 ----
return output + (3 + T_EXTRA(info ->OutputFormat)) * sizeof(cmsFloat32Number);
}
}
static
! cmsUInt8Number* PackXYZDoubleFrom16(CMSREGISTER _cmsTRANSFORM* Info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
if (T_PLANAR(Info -> OutputFormat)) {
cmsCIEXYZ XYZ;
cmsFloat64Number* Out = (cmsFloat64Number*) output;
*** 2423,2436 ****
return output + (sizeof(cmsCIEXYZ) + T_EXTRA(Info ->OutputFormat) * sizeof(cmsFloat64Number));
}
}
static
! cmsUInt8Number* PackXYZFloatFrom16(register _cmsTRANSFORM* Info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
if (T_PLANAR(Info -> OutputFormat)) {
cmsCIEXYZ XYZ;
cmsFloat32Number* Out = (cmsFloat32Number*) output;
--- 2423,2436 ----
return output + (sizeof(cmsCIEXYZ) + T_EXTRA(Info ->OutputFormat) * sizeof(cmsFloat64Number));
}
}
static
! cmsUInt8Number* PackXYZFloatFrom16(CMSREGISTER _cmsTRANSFORM* Info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
if (T_PLANAR(Info -> OutputFormat)) {
cmsCIEXYZ XYZ;
cmsFloat32Number* Out = (cmsFloat32Number*) output;
*** 2458,2471 ****
return output + (3 * sizeof(cmsFloat32Number) + T_EXTRA(Info ->OutputFormat) * sizeof(cmsFloat32Number));
}
}
static
! cmsUInt8Number* PackDoubleFrom16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->OutputFormat);
cmsUInt32Number Extra = T_EXTRA(info -> OutputFormat);
--- 2458,2471 ----
return output + (3 * sizeof(cmsFloat32Number) + T_EXTRA(Info ->OutputFormat) * sizeof(cmsFloat32Number));
}
}
static
! cmsUInt8Number* PackDoubleFrom16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->OutputFormat);
cmsUInt32Number Extra = T_EXTRA(info -> OutputFormat);
*** 2511,2524 ****
}
static
! cmsUInt8Number* PackFloatFrom16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info->OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info->OutputFormat);
cmsUInt32Number Extra = T_EXTRA(info->OutputFormat);
--- 2511,2524 ----
}
static
! cmsUInt8Number* PackFloatFrom16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info->OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info->OutputFormat);
cmsUInt32Number Extra = T_EXTRA(info->OutputFormat);
*** 2800,2813 ****
#ifndef CMS_NO_HALF_SUPPORT
// Decodes an stream of half floats to wIn[] described by input format
static
! cmsUInt8Number* UnrollHalfTo16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wIn[],
! register cmsUInt8Number* accum,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
--- 2800,2813 ----
#ifndef CMS_NO_HALF_SUPPORT
// Decodes an stream of half floats to wIn[] described by input format
static
! cmsUInt8Number* UnrollHalfTo16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wIn[],
! CMSREGISTER cmsUInt8Number* accum,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info -> InputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info ->InputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info ->InputFormat);
*** 2906,2919 ****
return accum + (nChan + Extra) * sizeof(cmsUInt16Number);
}
static
! cmsUInt8Number* PackHalfFrom16(register _cmsTRANSFORM* info,
! register cmsUInt16Number wOut[],
! register cmsUInt8Number* output,
! register cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info->OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info->OutputFormat);
cmsUInt32Number Extra = T_EXTRA(info->OutputFormat);
--- 2906,2919 ----
return accum + (nChan + Extra) * sizeof(cmsUInt16Number);
}
static
! cmsUInt8Number* PackHalfFrom16(CMSREGISTER _cmsTRANSFORM* info,
! CMSREGISTER cmsUInt16Number wOut[],
! CMSREGISTER cmsUInt8Number* output,
! CMSREGISTER cmsUInt32Number Stride)
{
cmsUInt32Number nChan = T_CHANNELS(info->OutputFormat);
cmsUInt32Number DoSwap = T_DOSWAP(info->OutputFormat);
cmsUInt32Number Reverse = T_FLAVOR(info->OutputFormat);
cmsUInt32Number Extra = T_EXTRA(info->OutputFormat);
< prev index next >