fix CMYK alpha channel

Change-Id: I803d050d5ff2e4c841df31585f13016f6b178ae3
Reviewed-on: https://skia-review.googlesource.com/c/163161
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/profiles/misc/Coated_FOGRA27_CMYK.icc.txt b/profiles/misc/Coated_FOGRA27_CMYK.icc.txt
index e69ba25..1d13f87 100644
--- a/profiles/misc/Coated_FOGRA27_CMYK.icc.txt
+++ b/profiles/misc/Coated_FOGRA27_CMYK.icc.txt
@@ -45,9 +45,9 @@
 	ff010000 ff010210 ff050621  ff010700 ff020f0a ff051520  ff041400 ff041b00 ff04221f
 	ff030000 ff040014 ff050024  ff0b0200 ff0a090c ff0a0f21  ff130f00 ff121800 ff101e1d
 	ff0c0100 ff0a0017 ff050028  ff170100 ff15000e ff110323  ff220200 ff1f1000 ff1c1819
-	6b181d09 6b171859 6b14108a  6b1f3e00 6b174c5a 6b085c92  6b255c00 6b147758 6b00919c
-	6b361b0a 6b33135a 6b32048b  6b493f00 6b4a4e58 6b4c5f93  6b5b5f00 6b5f7b54 6b63969b
-	6b55160a 6b50055c 6b4d008c  6b714000 6b745056 6b796293  6b8c6200 6b95804c 6b9f9d9a
-	00292d1c 00252391 001b00e0  00326300 00237c94 000094f0  00379000 0011be95 0000ecff
-	00562d19 00531e91 004f00e1  00736700 00768092 007999f0  008f9600 0096c68d 009af4ff
-	00832912 007e1391 007a00e0  00b36a00 00ba858e 00c19eef  00e09d00 00f0cf80 00fffefc
+	ff181d09 ff171859 ff14108a  ff1f3e00 ff174c5a ff085c92  ff255c00 ff147758 ff00919c
+	ff361b0a ff33135a ff32048b  ff493f00 ff4a4e58 ff4c5f93  ff5b5f00 ff5f7b54 ff63969b
+	ff55160a ff50055c ff4d008c  ff714000 ff745056 ff796293  ff8c6200 ff95804c ff9f9d9a
+	ff292d1c ff252391 ff1b00e0  ff326300 ff237c94 ff0094f0  ff379000 ff11be95 ff00ecff
+	ff562d19 ff531e91 ff4f00e1  ff736700 ff768092 ff7999f0  ff8f9600 ff96c68d ff9af4ff
+	ff832912 ff7e1391 ff7a00e0  ffb36a00 ffba858e ffc19eef  ffe09d00 fff0cf80 fffffefc
diff --git a/profiles/misc/Coated_FOGRA39_CMYK.icc.txt b/profiles/misc/Coated_FOGRA39_CMYK.icc.txt
index f7f90a1..6b85d95 100644
--- a/profiles/misc/Coated_FOGRA39_CMYK.icc.txt
+++ b/profiles/misc/Coated_FOGRA39_CMYK.icc.txt
@@ -49,9 +49,9 @@
 	ff010000 ff01000f ff000020  ff010500 ff000c08 ff00101d  ff001200 ff001900 ff001e1b
 	ff010000 ff020013 ff010022  ff070100 ff04090b ff000d20  ff0f0e00 ff0c1700 ff091d1b
 	ff0b0100 ff060014 ff020025  ff170100 ff14030c ff110921  ff200b00 ff1e1600 ff1c1d1c
-	6c1a201e 6c11195a 6c041288  6c234000 6c174e5c 6c005b91  6c285f00 6c157759 6c00909b
-	6c381b1e 6c33155c 6c2f0a8b  6c4a4000 6c4c515b 6c4c5f92  6c5b6000 6c607b55 6c61959a
-	6c52141f 6c500c5d 6c4d008c  6c704000 6c765359 6c796392  6c8b6200 6c96804e 6c9c9c9b
-	00313231 00262992 00150ce2  003b6600 002a7b94 000091f1  00419600 0021c093 0000edff
-	005a2e2f 00562593 005100e3  00786700 007b8093 007b98f1  00939900 009ac78b 009bf5ff
-	0084282f 00811d94 007e00e4  00b46900 00be848f 00c49ef0  00e39e00 00f5cf7f 00fffefc
+	ff1a201e ff11195a ff041288  ff234000 ff174e5c ff005b91  ff285f00 ff157759 ff00909b
+	ff381b1e ff33155c ff2f0a8b  ff4a4000 ff4c515b ff4c5f92  ff5b6000 ff607b55 ff61959a
+	ff52141f ff500c5d ff4d008c  ff704000 ff765359 ff796392  ff8b6200 ff96804e ff9c9c9b
+	ff313231 ff262992 ff150ce2  ff3b6600 ff2a7b94 ff0091f1  ff419600 ff21c093 ff00edff
+	ff5a2e2f ff562593 ff5100e3  ff786700 ff7b8093 ff7b98f1  ff939900 ff9ac78b ff9bf5ff
+	ff84282f ff811d94 ff7e00e4  ffb46900 ffbe848f ffc49ef0  ffe39e00 fff5cf7f fffffefc
diff --git a/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt b/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt
index c848559..1a388e6 100644
--- a/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt
+++ b/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt
@@ -50,9 +50,9 @@
 	ff000000 ff00000e ff00001e  ff000600 ff000a09 ff000e1c  ff001100 ff001700 ff001c1a
 	ff050003 ff000010 ff00001f  ff080400 ff06080a ff030c1d  ff0d0f00 ff0c1500 ff0b1b1a
 	ff100008 ff090014 ff030021  ff160100 ff120309 ff11091d  ff1c0c00 ff1b1400 ff1b1b1b
-	90191e1d 90151b55 900c1584  90243e00 901d4d5a 900a5a90  902a5c00 901c7659 90008f9b
-	90341b1c 90321856 90301186  90473d00 904c5059 904d5f90  90595d00 90607a55 9063959a
-	904c151c 904c1357 904b0887  906b3e00 90735257 90796390  90875f00 90947f4e 909c9c9a
-	0030302f 00282a8d 001300e2  003b6300 002d7a93 00008ff4  00429400 001ec093 0000ecff
-	00552d2d 0054288f 004f00e3  00756500 007a7f91 007b98f2  00929800 009ac78c 009af4ff
-	007e282b 007f208f 007c00e4  00b26700 00bc848d 00c49ef0  00e59e00 00f5cf7e 00fffefc
+	ff191e1d ff151b55 ff0c1584  ff243e00 ff1d4d5a ff0a5a90  ff2a5c00 ff1c7659 ff008f9b
+	ff341b1c ff321856 ff301186  ff473d00 ff4c5059 ff4d5f90  ff595d00 ff607a55 ff63959a
+	ff4c151c ff4c1357 ff4b0887  ff6b3e00 ff735257 ff796390  ff875f00 ff947f4e ff9c9c9a
+	ff30302f ff282a8d ff1300e2  ff3b6300 ff2d7a93 ff008ff4  ff429400 ff1ec093 ff00ecff
+	ff552d2d ff54288f ff4f00e3  ff756500 ff7a7f91 ff7b98f2  ff929800 ff9ac78c ff9af4ff
+	ff7e282b ff7f208f ff7c00e4  ffb26700 ffbc848d ffc49ef0  ffe59e00 fff5cf7e fffffefc
diff --git a/profiles/misc/Japan_Color_2001_Coated.icc.txt b/profiles/misc/Japan_Color_2001_Coated.icc.txt
index e3b5505..5055d2c 100644
--- a/profiles/misc/Japan_Color_2001_Coated.icc.txt
+++ b/profiles/misc/Japan_Color_2001_Coated.icc.txt
@@ -45,9 +45,9 @@
 	ff010000 ff010000 ff020020  ff010000 ff010000 ff000023  ff000700 ff001600 ff001c22
 	ff010000 ff010000 ff02001f  ff010000 ff010000 ff010024  ff090400 ff021400 ff001b24
 	ff060100 ff010000 ff02001e  ff150100 ff100000 ff050026  ff230200 ff1f1100 ff171922
-	6a19160c 6a0e0a5c 6a000090  6a224100 6a0f4e5a 6a005c96  6a296300 6a077b54 6a00959f
-	6a391208 6a34035b 6a2d008f  6a4d4100 6a4a4f58 6a475e96  6a606500 6a5f7e50 6a5e999e
-	6a590306 6a54005c 6a500090  6a773f00 6a784f57 6a7a6196  6a966700 6a9a8249 6aa09f9d
-	0035311e 002b2793 001406e4  003f6900 002a7e92 000097f1  00459900 0022c38c 0000f0ff
-	005d2d1d 00572092 005000e4  00796900 00788090 00769af0  00969d00 0097c886 0099f7ff
-	0088211a 00840c91 007f00e2  00b76800 00bc818c 00c29def  00e9a000 00f4cd7a 00fffefc
+	ff19160c ff0e0a5c ff000090  ff224100 ff0f4e5a ff005c96  ff296300 ff077b54 ff00959f
+	ff391208 ff34035b ff2d008f  ff4d4100 ff4a4f58 ff475e96  ff606500 ff5f7e50 ff5e999e
+	ff590306 ff54005c ff500090  ff773f00 ff784f57 ff7a6196  ff966700 ff9a8249 ffa09f9d
+	ff35311e ff2b2793 ff1406e4  ff3f6900 ff2a7e92 ff0097f1  ff459900 ff22c38c ff00f0ff
+	ff5d2d1d ff572092 ff5000e4  ff796900 ff788090 ff769af0  ff969d00 ff97c886 ff99f7ff
+	ff88211a ff840c91 ff7f00e2  ffb76800 ffbc818c ffc29def  ffe9a000 fff4cd7a fffffefc
diff --git a/profiles/misc/PrintOpen_ISO_Coated_CMYK.icc.txt b/profiles/misc/PrintOpen_ISO_Coated_CMYK.icc.txt
index f3f672d..46e3431 100644
--- a/profiles/misc/PrintOpen_ISO_Coated_CMYK.icc.txt
+++ b/profiles/misc/PrintOpen_ISO_Coated_CMYK.icc.txt
@@ -44,9 +44,9 @@
 	ff010000 ff010000 ff020a1b  ff010000 ff010c0a ff011119  ff0d1800 ff021704 ff011918
 	ff010000 ff010000 ff02031d  ff010000 ff030303 ff050c19  ff171800 ff0c1300 ff0e1716
 	ff010000 ff010000 ff010000  ff010000 ff050100 ff100918  ff010000 ff171100 ff161614
-	80161816 80141852 800b188e  80233c00 80154551 80005993  80326800 80008058 8000929c
-	80351b1c 80341858 802d008c  80473d00 80454951 80495b8d  80646900 805f7954 805f9195
-	805f1720 806a0464 80570092  80744400 80745259 80755f8c  80896600 80907c4f 80999896
-	00272727 00292c90 001d2cdb  00436d00 002a7790 000793f3  005aa600 0011d1a1 001ae0f9
-	005b2e30 005a2a92 00510be3  007c6d00 00767b8d 007d9ffd  00a1aa00 00a9e89d 00a2f1fe
-	00992b3a 00ac1f9b 00860ddf  00b87400 00d68b9c 00c79df0  00d4a300 00ecd293 00fffefc
+	ff161816 ff141852 ff0b188e  ff233c00 ff154551 ff005993  ff326800 ff008058 ff00929c
+	ff351b1c ff341858 ff2d008c  ff473d00 ff454951 ff495b8d  ff646900 ff5f7954 ff5f9195
+	ff5f1720 ff6a0464 ff570092  ff744400 ff745259 ff755f8c  ff896600 ff907c4f ff999896
+	ff272727 ff292c90 ff1d2cdb  ff436d00 ff2a7790 ff0793f3  ff5aa600 ff11d1a1 ff1ae0f9
+	ff5b2e30 ff5a2a92 ff510be3  ff7c6d00 ff767b8d ff7d9ffd  ffa1aa00 ffa9e89d ffa2f1fe
+	ff992b3a ffac1f9b ff860ddf  ffb87400 ffd68b9c ffc79df0  ffd4a300 ffecd293 fffffefc
diff --git a/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt b/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt
index a3aaf16..6bca0af 100644
--- a/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt
+++ b/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt
@@ -42,9 +42,9 @@
 	ff010000 ff010000 ff010000  ff010000 ff010000 ff010000  ff010000 ff010000 ff010000
 	ff010000 ff010000 ff010000  ff010000 ff010000 ff010000  ff010000 ff010000 ff010000
 	ff010000 ff010000 ff010000  ff010000 ff010000 ff010000  ff010000 ff010000 ff010000
-	621a1219 6216104d 62110080  621e3900 6216474c 62015889  621f5a00 62117144 62008d8f
-	62300d1d 622f0950 622c0081  62433900 62434851 6242598b  62595d00 6259744b 62599193
-	6245061e 62450051 62450082  62663900 62694854 626d5b8c  62886000 628e774d 62959493
-	00332734 002e2389 002400dd  00396700 002c7f88 00009bed  003d9e00 0025c579 0000f3f6
-	00581f39 0056178d 005200df  00786800 00788090 00779df1  009ca300 009dc985 009df9fc
-	007b113b 007b008f 007b00e1  00b26800 00b68094 00bc9ff3  00eba800 00f3ce8a 00fffefc
+	ff1a1219 ff16104d ff110080  ff1e3900 ff16474c ff015889  ff1f5a00 ff117144 ff008d8f
+	ff300d1d ff2f0950 ff2c0081  ff433900 ff434851 ff42598b  ff595d00 ff59744b ff599193
+	ff45061e ff450051 ff450082  ff663900 ff694854 ff6d5b8c  ff886000 ff8e774d ff959493
+	ff332734 ff2e2389 ff2400dd  ff396700 ff2c7f88 ff009bed  ff3d9e00 ff25c579 ff00f3f6
+	ff581f39 ff56178d ff5200df  ff786800 ff788090 ff779df1  ff9ca300 ff9dc985 ff9df9fc
+	ff7b113b ff7b008f ff7b00e1  ffb26800 ffb68094 ffbc9ff3  ffeba800 fff3ce8a fffffefc
diff --git a/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt b/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt
index 34f3e57..7e2f710 100644
--- a/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt
+++ b/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt
@@ -44,9 +44,9 @@
 	ff010000 ff010000 ff020015  ff010000 ff010000 ff01001b  ff010500 ff001400 ff001a17
 	ff010000 ff010000 ff020015  ff010000 ff010000 ff01001e  ff090500 ff061500 ff001c1d
 	ff010000 ff010000 ff020014  ff110100 ff0f0100 ff090023  ff240600 ff231500 ff211f22
-	7a181416 7a110f55 7a05058a  7a233f00 7a194952 7a02558e  7a2e6500 7a21754a 7a008c94
-	7a381113 7a350955 7a30008a  7a4a4000 7a484a51 7a45568e  7a5e6600 7a5d7745 7a5b9094
-	7a580912 7a540055 7a52008b  7a714000 7a724b4e 7a73588e  7a916800 7a947b3a 7a989591
-	003a3635 00342f94 00251fec  00466f00 003b7e92 001f93f6  0051a500 0040c68a 0000f1ff
-	00653432 00612d93 005b17ec  007e7000 007c808d 007996f4  009da800 009cc97f 0099f6ff
-	0092312c 008f2890 008c02ea  00bc7100 00bd8185 00c199f2  00efad00 00f6cf69 00fffefc
+	ff181416 ff110f55 ff05058a  ff233f00 ff194952 ff02558e  ff2e6500 ff21754a ff008c94
+	ff381113 ff350955 ff30008a  ff4a4000 ff484a51 ff45568e  ff5e6600 ff5d7745 ff5b9094
+	ff580912 ff540055 ff52008b  ff714000 ff724b4e ff73588e  ff916800 ff947b3a ff989591
+	ff3a3635 ff342f94 ff251fec  ff466f00 ff3b7e92 ff1f93f6  ff51a500 ff40c68a ff00f1ff
+	ff653432 ff612d93 ff5b17ec  ff7e7000 ff7c808d ff7996f4  ff9da800 ff9cc97f ff99f6ff
+	ff92312c ff8f2890 ff8c02ea  ffbc7100 ffbd8185 ffc199f2  ffefad00 fff6cf69 fffffefc
diff --git a/profiles/misc/XRite_GRACol7_340_CMYK.icc.txt b/profiles/misc/XRite_GRACol7_340_CMYK.icc.txt
index 93d4c3c..4088400 100644
--- a/profiles/misc/XRite_GRACol7_340_CMYK.icc.txt
+++ b/profiles/misc/XRite_GRACol7_340_CMYK.icc.txt
@@ -45,9 +45,9 @@
 	ff000000 ff000011 ff000021  ff000700 ff000708 ff000d1d  ff001900 ff001800 ff001d1a
 	ff060007 ff000016 ff000024  ff090400 ff020409 ff000a1d  ff101500 ff0b1600 ff0c1c1a
 	ff0f0010 ff0c0019 ff000025  ff160000 ff12010e ff11081f  ff200c00 ff1e1600 ff1d1d1d
-	801f211f 80181f59 80121d8b  80294000 80234e58 80165b90  80336200 80257651 80008d96
-	8038201d 80371d5b 8032198f  804d4000 804e4f57 804a5d90  805f6200 805d774d 805b8f93
-	80531d18 8052195a 80510c8f  80704000 80735056 80735d8f  808d6300 80907a46 8093928f
-	00343434 002f3596 002026e7  00446a00 00347e92 000c90f0  004c9b00 002abe89 0000f0ff
-	0060352b 005d3496 005521ea  007c6b00 00797e8e 007494ef  00959c00 0094c283 0098f6ff
-	008a3122 00882f94 00820de8  00b46b00 00b8818b 00bb96eb  00e4a000 00efc876 00fffffe
+	ff1f211f ff181f59 ff121d8b  ff294000 ff234e58 ff165b90  ff336200 ff257651 ff008d96
+	ff38201d ff371d5b ff32198f  ff4d4000 ff4e4f57 ff4a5d90  ff5f6200 ff5d774d ff5b8f93
+	ff531d18 ff52195a ff510c8f  ff704000 ff735056 ff735d8f  ff8d6300 ff907a46 ff93928f
+	ff343434 ff2f3596 ff2026e7  ff446a00 ff347e92 ff0c90f0  ff4c9b00 ff2abe89 ff00f0ff
+	ff60352b ff5d3496 ff5521ea  ff7c6b00 ff797e8e ff7494ef  ff959c00 ff94c283 ff98f6ff
+	ff8a3122 ff882f94 ff820de8  ffb46b00 ffb8818b ffbb96eb  ffe4a000 ffefc876 fffffffe
diff --git a/src/Transform_inl.h b/src/Transform_inl.h
index 465fb27..6dcaf18 100644
--- a/src/Transform_inl.h
+++ b/src/Transform_inl.h
@@ -915,6 +915,11 @@
             case Op_clut: {
                 const skcms_A2B* a2b = (const skcms_A2B*) *args++;
                 clut(a2b, &r,&g,&b,a);
+
+                if (a2b->input_channels == 4) {
+                    // CMYK is opaque.
+                    a = F1;
+                }
             } break;
 
     // Notice, from here on down the store_ ops all return, ending the loop.