Treat null profiles as sRGB
Change-Id: Id5acafa76e4590c8c0b89ba75972d0304b084a6a
Reviewed-on: https://skia-review.googlesource.com/136620
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
diff --git a/src/Transform.c b/src/Transform.c
index 0de0727..f07c5e7 100644
--- a/src/Transform.c
+++ b/src/Transform.c
@@ -404,9 +404,12 @@
}
int n = (int)nz;
- // Both profiles can be null if we're just doing format conversion, otherwise both are needed
- if (!dstProfile != !srcProfile) {
- return false;
+ // Null profiles default to sRGB. Passing null for both is handy when doing format conversion.
+ if (!srcProfile) {
+ srcProfile = skcms_sRGB_profile();
+ }
+ if (!dstProfile) {
+ dstProfile = skcms_sRGB_profile();
}
// We can't transform in place unless the PixelFormats are the same size.
@@ -442,7 +445,7 @@
*ops++ = Op_swap_rb;
}
- if (srcProfile && srcProfile->data_color_space == skcms_Signature_CMYK) {
+ if (srcProfile->data_color_space == skcms_Signature_CMYK) {
// Photoshop creates CMYK images as inverse CMYK.
// These happen to be the only ones we've _ever_ seen.
*ops++ = Op_invert;
diff --git a/tests.c b/tests.c
index 00fd64d..fea003b 100644
--- a/tests.c
+++ b/tests.c
@@ -47,10 +47,6 @@
}
static void test_FormatConversions() {
- // If we use a single skcms_ICCProfile, we should be able to use skcms_Transform()
- // to do skcms_PixelFormat conversions.
- skcms_ICCProfile profile;
-
// We can interpret src as 85 RGB_888 pixels or 64 RGB_8888 pixels.
uint8_t src[256],
dst[85*4];
@@ -59,16 +55,16 @@
}
// This should basically be a really complicated memcpy().
- expect(skcms_Transform(src, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
- dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
+ dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
64));
for (int i = 0; i < 256; i++) {
expect(dst[i] == i);
}
// We can do RGBA -> BGRA swaps two ways:
- expect(skcms_Transform(src, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
- dst, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
+ dst, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, NULL,
64));
for (int i = 0; i < 64; i++) {
expect(dst[4*i+0] == 4*i+2);
@@ -76,8 +72,8 @@
expect(dst[4*i+2] == 4*i+0);
expect(dst[4*i+3] == 4*i+3);
}
- expect(skcms_Transform(src, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, &profile,
- dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, NULL,
+ dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
64));
for (int i = 0; i < 64; i++) {
expect(dst[4*i+0] == 4*i+2);
@@ -87,8 +83,8 @@
}
// Let's convert RGB_888 to RGBA_8888...
- expect(skcms_Transform(src, skcms_PixelFormat_RGB_888 , skcms_AlphaFormat_Unpremul, &profile,
- dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_RGB_888 , skcms_AlphaFormat_Unpremul, NULL,
+ dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
85));
for (int i = 0; i < 85; i++) {
expect(dst[4*i+0] == 3*i+0);
@@ -97,8 +93,8 @@
expect(dst[4*i+3] == 255);
}
// ... and now all the variants of R-B swaps.
- expect(skcms_Transform(src, skcms_PixelFormat_BGR_888 , skcms_AlphaFormat_Unpremul, &profile,
- dst, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_BGR_888 , skcms_AlphaFormat_Unpremul, NULL,
+ dst, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, NULL,
85));
for (int i = 0; i < 85; i++) {
expect(dst[4*i+0] == 3*i+0);
@@ -106,8 +102,8 @@
expect(dst[4*i+2] == 3*i+2);
expect(dst[4*i+3] == 255);
}
- expect(skcms_Transform(src, skcms_PixelFormat_BGR_888 , skcms_AlphaFormat_Unpremul, &profile,
- dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_BGR_888 , skcms_AlphaFormat_Unpremul, NULL,
+ dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
85));
for (int i = 0; i < 85; i++) {
expect(dst[4*i+0] == 3*i+2);
@@ -115,8 +111,8 @@
expect(dst[4*i+2] == 3*i+0);
expect(dst[4*i+3] == 255);
}
- expect(skcms_Transform(src, skcms_PixelFormat_RGB_888 , skcms_AlphaFormat_Unpremul, &profile,
- dst, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_RGB_888 , skcms_AlphaFormat_Unpremul, NULL,
+ dst, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, NULL,
85));
for (int i = 0; i < 85; i++) {
expect(dst[4*i+0] == 3*i+2);
@@ -127,13 +123,13 @@
// Let's test in-place transforms.
// RGBA_8888 and RGB_888 aren't the same size, so we shouldn't allow this call.
- expect(!skcms_Transform(src, skcms_PixelFormat_RGB_888 , skcms_AlphaFormat_Unpremul, &profile,
- src, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(!skcms_Transform(src, skcms_PixelFormat_RGB_888 , skcms_AlphaFormat_Unpremul, NULL,
+ src, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
85));
// These two should work fine.
- expect(skcms_Transform(src, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, &profile,
- src, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, NULL,
+ src, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
64));
for (int i = 0; i < 64; i++) {
expect(src[4*i+0] == 4*i+2);
@@ -141,8 +137,8 @@
expect(src[4*i+2] == 4*i+0);
expect(src[4*i+3] == 4*i+3);
}
- expect(skcms_Transform(src, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
- src, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
+ src, skcms_PixelFormat_BGRA_8888, skcms_AlphaFormat_Unpremul, NULL,
64));
for (int i = 0; i < 64; i++) {
expect(src[4*i+0] == 4*i+0);
@@ -153,8 +149,8 @@
uint32_t _8888[3] = { 0x03020100, 0x07060504, 0x0b0a0908 };
uint8_t _888[9];
- expect(skcms_Transform(_8888, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
- _888 , skcms_PixelFormat_RGB_888 , skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(_8888, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
+ _888 , skcms_PixelFormat_RGB_888 , skcms_AlphaFormat_Unpremul, NULL,
3));
expect(_888[0] == 0 && _888[1] == 1 && _888[2] == 2);
expect(_888[3] == 4 && _888[4] == 5 && _888[5] == 6);
@@ -162,10 +158,6 @@
}
static void test_FormatConversions_565() {
- // If we use a single skcms_ICCProfile, we should be able to use skcms_Transform()
- // to do skcms_PixelFormat conversions.
- skcms_ICCProfile profile;
-
// This should hit all the unique values of each lane of 565.
uint16_t src[64];
for (int i = 0; i < 64; i++) {
@@ -178,8 +170,8 @@
expect(src[63] == 0xffff);
uint32_t dst[64];
- expect(skcms_Transform(src, skcms_PixelFormat_RGB_565 , skcms_AlphaFormat_Unpremul, &profile,
- dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_RGB_565 , skcms_AlphaFormat_Unpremul, NULL,
+ dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
64));
// We'll just spot check these results a bit.
for (int i = 0; i < 64; i++) {
@@ -192,8 +184,8 @@
// Let's convert back the other way.
uint16_t back[64];
- expect(skcms_Transform(dst , skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
- back, skcms_PixelFormat_RGB_565 , skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(dst , skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
+ back, skcms_PixelFormat_RGB_565 , skcms_AlphaFormat_Unpremul, NULL,
64));
for (int i = 0; i < 64; i++) {
expect(src[i] == back[i]);
@@ -201,8 +193,6 @@
}
static void test_FormatConversions_16161616() {
- skcms_ICCProfile profile;
-
// We want to hit each 16-bit value, 4 per each of 16384 pixels.
uint64_t* src = malloc(8 * 16384);
for (int i = 0; i < 16384; i++) {
@@ -216,8 +206,8 @@
expect(src[16383] == 0xfffffffefffdfffc);
uint32_t* dst = malloc(4 * 16384);
- expect(skcms_Transform(src, skcms_PixelFormat_RGBA_16161616, skcms_AlphaFormat_Unpremul, &profile,
- dst, skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_RGBA_16161616, skcms_AlphaFormat_Unpremul, NULL,
+ dst, skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, NULL,
16384));
// skcms_Transform() will treat src as holding big-endian 16-bit values,
@@ -230,8 +220,8 @@
// We've lost precision when transforming to 8-bit, so these won't quite round-trip.
// Instead we should see the 8-bit dst value byte-doubled, as 65535/255 = 257 = 0x0101.
uint64_t* back = malloc(8 * 16384);
- expect(skcms_Transform(dst , skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, &profile,
- back, skcms_PixelFormat_RGBA_16161616, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(dst , skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, NULL,
+ back, skcms_PixelFormat_RGBA_16161616, skcms_AlphaFormat_Unpremul, NULL,
16384));
for (int i = 0; i < 16384; i++) {
expect( ((back[i] >> 0) & 0xffff) == ((dst[i] >> 0) & 0xff) * 0x0101);
@@ -246,16 +236,14 @@
}
static void test_FormatConversions_161616() {
- skcms_ICCProfile profile;
-
// We'll test the same cases as the _16161616() test, as if they were 4 RGB pixels.
uint16_t src[] = { 0x0000, 0x0001, 0x0002,
0x0003, 0x7efc, 0x7efd,
0x7efe, 0x7eff, 0xfffc,
0xfffd, 0xfffe, 0xffff };
uint32_t dst[4];
- expect(skcms_Transform(src, skcms_PixelFormat_RGB_161616, skcms_AlphaFormat_Unpremul, &profile,
- dst, skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(src, skcms_PixelFormat_RGB_161616, skcms_AlphaFormat_Unpremul, NULL,
+ dst, skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, NULL,
4));
expect(dst[0] == 0xff020100);
@@ -266,8 +254,8 @@
// We've lost precision when transforming to 8-bit, so these won't quite round-trip.
// Instead we should see the most signficant (low) byte doubled, as 65535/255 = 257 = 0x0101.
uint16_t back[12];
- expect(skcms_Transform(dst , skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, &profile,
- back, skcms_PixelFormat_RGB_161616, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(dst , skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, NULL,
+ back, skcms_PixelFormat_RGB_161616, skcms_AlphaFormat_Unpremul, NULL,
4));
for (int i = 0; i < 12; i++) {
expect(back[0] == (src[0] & 0xff) * 0x0101);
@@ -275,34 +263,32 @@
}
static void test_FormatConversions_101010() {
- skcms_ICCProfile profile;
-
uint32_t src = (uint32_t)1023 << 0 // 1.0.
| (uint32_t) 511 << 10 // About 1/2.
| (uint32_t) 4 << 20 // Smallest 10-bit channel that's non-zero in 8-bit.
| (uint32_t) 1 << 30; // 1/3, smallest non-zero alpha.
uint32_t dst;
- expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Unpremul, &profile,
- &dst, skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Unpremul, NULL,
+ &dst, skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, NULL,
1));
expect(dst == 0x55017fff);
// Same as above, but we'll ignore the 1/3 alpha and fill in 1.0.
- expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Opaque , &profile,
- &dst, skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Opaque , NULL,
+ &dst, skcms_PixelFormat_RGBA_8888 , skcms_AlphaFormat_Unpremul, NULL,
1));
expect(dst == 0xff017fff);
// Converting 101010x <-> 1010102 will force opaque in either direction.
- expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Unpremul, &profile,
- &dst, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Opaque , &profile,
+ expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Unpremul, NULL,
+ &dst, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Opaque , NULL,
1));
expect(dst == ( (uint32_t)1023 << 0
| (uint32_t) 511 << 10
| (uint32_t) 4 << 20
| (uint32_t) 3 << 30));
- expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Opaque , &profile,
- &dst, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Opaque , NULL,
+ &dst, skcms_PixelFormat_RGBA_1010102, skcms_AlphaFormat_Unpremul, NULL,
1));
expect(dst == ( (uint32_t)1023 << 0
| (uint32_t) 511 << 10
@@ -311,8 +297,6 @@
}
static void test_FormatConversions_half() {
- skcms_ICCProfile profile;
-
uint16_t src[] = {
0x3c00, // 1.0
0x3800, // 0.5
@@ -325,21 +309,21 @@
};
uint32_t dst[2];
- expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_hhhh, skcms_AlphaFormat_Unpremul, &profile,
- &dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_hhhh, skcms_AlphaFormat_Unpremul, NULL,
+ &dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
2));
expect(dst[0] == 0x000180ff);
expect(dst[1] == 0x000000ff); // Notice we've clamped 2.0 to 0xff and -1.0 to 0x00.
- expect(skcms_Transform(&src, skcms_PixelFormat_RGB_hhh , skcms_AlphaFormat_Unpremul, &profile,
- &dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(&src, skcms_PixelFormat_RGB_hhh , skcms_AlphaFormat_Unpremul, NULL,
+ &dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
2));
expect(dst[0] == 0xff0180ff);
expect(dst[1] == 0xff00ff00); // Remember, this corresponds to src[3-5].
float fdst[8];
- expect(skcms_Transform( &src, skcms_PixelFormat_RGBA_hhhh, skcms_AlphaFormat_Unpremul, &profile,
- &fdst, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform( &src, skcms_PixelFormat_RGBA_hhhh, skcms_AlphaFormat_Unpremul, NULL,
+ &fdst, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, NULL,
2));
expect(fdst[0] == 1.0f);
expect(fdst[1] == 0.5f);
@@ -352,8 +336,8 @@
// Now convert back, first to RGBA halfs, then RGB halfs.
uint16_t back[8];
- expect(skcms_Transform(&fdst, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, &profile,
- &back, skcms_PixelFormat_RGBA_hhhh, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(&fdst, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, NULL,
+ &back, skcms_PixelFormat_RGBA_hhhh, skcms_AlphaFormat_Unpremul, NULL,
2));
expect(back[0] == src[0]);
expect(back[1] == src[1]);
@@ -364,8 +348,8 @@
expect(back[6] == src[6] || back[6] == 0x0000);
expect(back[7] == src[7]);
- expect(skcms_Transform(&fdst, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, &profile,
- &back, skcms_PixelFormat_RGB_hhh , skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(&fdst, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, NULL,
+ &back, skcms_PixelFormat_RGB_hhh , skcms_AlphaFormat_Unpremul, NULL,
2));
expect(back[0] == src[0]);
expect(back[1] == src[1]);
@@ -376,19 +360,17 @@
}
static void test_FormatConversions_float() {
- skcms_ICCProfile profile;
-
float src[] = { 1.0f, 0.5f, 1/255.0f, 1/512.0f };
uint32_t dst;
- expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, &profile,
- &dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(&src, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, NULL,
+ &dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
1));
expect(dst == 0x000180ff);
// Same as above, but we'll ignore the 1/512 alpha and fill in 1.0.
- expect(skcms_Transform(&src, skcms_PixelFormat_RGB_fff , skcms_AlphaFormat_Unpremul, &profile,
- &dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(&src, skcms_PixelFormat_RGB_fff , skcms_AlphaFormat_Unpremul, NULL,
+ &dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
1));
expect(dst == 0xff0180ff);
@@ -398,8 +380,8 @@
for (int i = 0; i < 64; i++) {
bytes[i] = 0x03020100 + 0x04040404 * (uint32_t)i;
}
- expect(skcms_Transform(&bytes, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, &profile,
- &fdst, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(&bytes, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul, NULL,
+ &fdst, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, NULL,
64));
for (int i = 0; i < 256; i++) {
expect(fdst[i] == i*(1/255.0f));
@@ -407,13 +389,13 @@
float ffff[16] = { 0,1,2,3, 4,5,6,7, 8,9,10,11, 12,13,14,15 };
float fff[12] = { 0,0,0, 0,0,0, 0,0,0, 0,0,0};
- expect(skcms_Transform(ffff, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, &profile,
- fff , skcms_PixelFormat_RGB_fff , skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(ffff, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, NULL,
+ fff , skcms_PixelFormat_RGB_fff , skcms_AlphaFormat_Unpremul, NULL,
1));
expect(fff[0] == 0); expect(fff[1] == 1); expect(fff[2] == 2);
- expect(skcms_Transform(ffff, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, &profile,
- fff , skcms_PixelFormat_RGB_fff , skcms_AlphaFormat_Unpremul, &profile,
+ expect(skcms_Transform(ffff, skcms_PixelFormat_RGBA_ffff, skcms_AlphaFormat_Unpremul, NULL,
+ fff , skcms_PixelFormat_RGB_fff , skcms_AlphaFormat_Unpremul, NULL,
4));
expect(fff[0] == 0); expect(fff[ 1] == 1); expect(fff[ 2] == 2);
expect(fff[3] == 4); expect(fff[ 4] == 5); expect(fff[ 5] == 6);