use crate::interp::{
interp1, interp10, interp2, interp3, interp4, interp5, interp6, interp7, interp8, interp9,
};
use crate::yuv::colors_differ;
#[allow(clippy::too_many_lines)]
pub(crate) fn fill2(pattern: u8, w: &[u32; 10], out: &mut [u32], base: usize, dpl: usize) {
match pattern {
0 | 1 | 4 | 32 | 128 | 5 | 132 | 160 | 33 | 129 | 36 | 133 | 164 | 161 | 37 | 165 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
2 | 34 | 130 | 162 => {
out[base] = interp2(w[5], w[1], w[4]);
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
16 | 17 | 48 | 49 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
64 | 65 | 68 | 69 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
8 | 12 | 136 | 140 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
3 | 35 | 131 | 163 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
6 | 38 | 134 | 166 => {
out[base] = interp2(w[5], w[1], w[4]);
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
20 | 21 | 52 | 53 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
144 | 145 | 176 | 177 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
192 | 193 | 196 | 197 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
96 | 97 | 100 | 101 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
40 | 44 | 168 | 172 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
9 | 13 | 137 | 141 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
18 | 50 => {
out[base] = interp2(w[5], w[1], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
80 | 81 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
72 | 76 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
10 | 138 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
66 => {
out[base] = interp2(w[5], w[1], w[4]);
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
24 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
7 | 39 | 135 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
148 | 149 | 180 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
224 | 228 | 225 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
41 | 169 | 45 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
22 | 54 => {
out[base] = interp2(w[5], w[1], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
208 | 209 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
104 | 108 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
11 | 139 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
19 | 51 => {
if colors_differ(w[2], w[6]) {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base] = interp6(w[5], w[2], w[4]);
out[base + 1] = interp9(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
146 | 178 => {
out[base] = interp2(w[5], w[1], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
out[base + dpl + 1] = interp1(w[5], w[8]);
} else {
out[base + 1] = interp9(w[5], w[2], w[6]);
out[base + dpl + 1] = interp6(w[5], w[6], w[8]);
}
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
84 | 85 => {
out[base] = interp2(w[5], w[4], w[2]);
if colors_differ(w[6], w[8]) {
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + 1] = interp6(w[5], w[6], w[2]);
out[base + dpl + 1] = interp9(w[5], w[6], w[8]);
}
out[base + dpl] = interp2(w[5], w[7], w[4]);
}
112 | 113 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
if colors_differ(w[6], w[8]) {
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl] = interp6(w[5], w[8], w[4]);
out[base + dpl + 1] = interp9(w[5], w[6], w[8]);
}
}
200 | 204 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
out[base + dpl + 1] = interp1(w[5], w[6]);
} else {
out[base + dpl] = interp9(w[5], w[8], w[4]);
out[base + dpl + 1] = interp6(w[5], w[8], w[6]);
}
}
73 | 77 => {
if colors_differ(w[8], w[4]) {
out[base] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base] = interp6(w[5], w[4], w[2]);
out[base + dpl] = interp9(w[5], w[8], w[4]);
}
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
42 | 170 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[8]);
} else {
out[base] = interp9(w[5], w[4], w[2]);
out[base + dpl] = interp6(w[5], w[4], w[8]);
}
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
14 | 142 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[6]);
} else {
out[base] = interp9(w[5], w[4], w[2]);
out[base + 1] = interp6(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
67 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
70 => {
out[base] = interp2(w[5], w[1], w[4]);
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
28 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
152 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
194 => {
out[base] = interp2(w[5], w[1], w[4]);
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
98 => {
out[base] = interp2(w[5], w[1], w[4]);
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
56 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
25 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
26 | 31 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
82 | 214 => {
out[base] = interp2(w[5], w[1], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
88 | 248 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
74 | 107 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp2(w[5], w[3], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
27 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[3]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
86 => {
out[base] = interp2(w[5], w[1], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[4]);
out[base + dpl + 1] = interp1(w[5], w[9]);
}
216 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
106 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp2(w[5], w[3], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
30 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
210 => {
out[base] = interp2(w[5], w[1], w[4]);
out[base + 1] = interp1(w[5], w[3]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
120 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[9]);
}
75 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp1(w[5], w[7]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
29 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
198 => {
out[base] = interp2(w[5], w[1], w[4]);
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
184 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
99 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
57 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
71 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
156 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
226 => {
out[base] = interp2(w[5], w[1], w[4]);
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
60 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
195 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
102 => {
out[base] = interp2(w[5], w[1], w[4]);
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
153 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
58 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
83 => {
out[base] = interp1(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
92 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp1(w[5], w[2]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
202 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
out[base + 1] = interp2(w[5], w[3], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[6]);
}
78 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
154 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
114 => {
out[base] = interp2(w[5], w[1], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
89 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
90 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
55 | 23 => {
if colors_differ(w[2], w[6]) {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
} else {
out[base] = interp6(w[5], w[2], w[4]);
out[base + 1] = interp9(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
182 | 150 => {
out[base] = interp2(w[5], w[1], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + dpl + 1] = interp1(w[5], w[8]);
} else {
out[base + 1] = interp9(w[5], w[2], w[6]);
out[base + dpl + 1] = interp6(w[5], w[6], w[8]);
}
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
213 | 212 => {
out[base] = interp2(w[5], w[4], w[2]);
if colors_differ(w[6], w[8]) {
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl + 1] = w[5];
} else {
out[base + 1] = interp6(w[5], w[6], w[2]);
out[base + dpl + 1] = interp9(w[5], w[6], w[8]);
}
out[base + dpl] = interp2(w[5], w[7], w[4]);
}
241 | 240 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
if colors_differ(w[6], w[8]) {
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
} else {
out[base + dpl] = interp6(w[5], w[8], w[4]);
out[base + dpl + 1] = interp9(w[5], w[6], w[8]);
}
}
236 | 232 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + dpl + 1] = interp1(w[5], w[6]);
} else {
out[base + dpl] = interp9(w[5], w[8], w[4]);
out[base + dpl + 1] = interp6(w[5], w[8], w[6]);
}
}
109 | 105 => {
if colors_differ(w[8], w[4]) {
out[base] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
} else {
out[base] = interp6(w[5], w[4], w[2]);
out[base + dpl] = interp9(w[5], w[8], w[4]);
}
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
171 | 43 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + dpl] = interp1(w[5], w[8]);
} else {
out[base] = interp9(w[5], w[4], w[2]);
out[base + dpl] = interp6(w[5], w[4], w[8]);
}
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
143 | 15 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = interp1(w[5], w[6]);
} else {
out[base] = interp9(w[5], w[4], w[2]);
out[base + 1] = interp6(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
124 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp1(w[5], w[2]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[9]);
}
203 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp1(w[5], w[7]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
62 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
211 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp1(w[5], w[3]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
118 => {
out[base] = interp2(w[5], w[1], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp1(w[5], w[9]);
}
217 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
110 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
155 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[3]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
188 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
185 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
61 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
157 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
103 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
227 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp2(w[5], w[3], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
230 => {
out[base] = interp2(w[5], w[1], w[4]);
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
199 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp2(w[5], w[7], w[4]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
220 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp1(w[5], w[2]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
158 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
234 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
out[base + 1] = interp2(w[5], w[3], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[6]);
}
242 => {
out[base] = interp2(w[5], w[1], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
59 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
121 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
87 => {
out[base] = interp1(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
79 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
122 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
94 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
218 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
91 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
229 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
167 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
173 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
181 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
186 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
115 => {
out[base] = interp1(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
93 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
206 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[6]);
}
205 | 201 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = interp1(w[5], w[7]);
} else {
out[base + dpl] = interp7(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[6]);
}
174 | 46 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp7(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
179 | 147 => {
out[base] = interp1(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = interp1(w[5], w[3]);
} else {
out[base + 1] = interp7(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
117 | 116 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = interp1(w[5], w[9]);
} else {
out[base + dpl + 1] = interp7(w[5], w[6], w[8]);
}
}
189 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
231 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
126 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[9]);
}
219 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
125 => {
if colors_differ(w[8], w[4]) {
out[base] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
} else {
out[base] = interp6(w[5], w[4], w[2]);
out[base + dpl] = interp9(w[5], w[8], w[4]);
}
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl + 1] = interp1(w[5], w[9]);
}
221 => {
out[base] = interp1(w[5], w[2]);
if colors_differ(w[6], w[8]) {
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl + 1] = w[5];
} else {
out[base + 1] = interp6(w[5], w[6], w[2]);
out[base + dpl + 1] = interp9(w[5], w[6], w[8]);
}
out[base + dpl] = interp1(w[5], w[7]);
}
207 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = interp1(w[5], w[6]);
} else {
out[base] = interp9(w[5], w[4], w[2]);
out[base + 1] = interp6(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[7]);
out[base + dpl + 1] = interp1(w[5], w[6]);
}
238 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + dpl + 1] = interp1(w[5], w[6]);
} else {
out[base + dpl] = interp9(w[5], w[8], w[4]);
out[base + dpl + 1] = interp6(w[5], w[8], w[6]);
}
}
190 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + dpl + 1] = interp1(w[5], w[8]);
} else {
out[base + 1] = interp9(w[5], w[2], w[6]);
out[base + dpl + 1] = interp6(w[5], w[6], w[8]);
}
out[base + dpl] = interp1(w[5], w[8]);
}
187 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + dpl] = interp1(w[5], w[8]);
} else {
out[base] = interp9(w[5], w[4], w[2]);
out[base + dpl] = interp6(w[5], w[4], w[8]);
}
out[base + 1] = interp1(w[5], w[3]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
243 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = interp1(w[5], w[3]);
if colors_differ(w[6], w[8]) {
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
} else {
out[base + dpl] = interp6(w[5], w[8], w[4]);
out[base + dpl + 1] = interp9(w[5], w[6], w[8]);
}
}
119 => {
if colors_differ(w[2], w[6]) {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
} else {
out[base] = interp6(w[5], w[2], w[4]);
out[base + 1] = interp9(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = interp1(w[5], w[9]);
}
237 | 233 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[2], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp10(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[6]);
}
175 | 47 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp10(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
183 | 151 => {
out[base] = interp1(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp10(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[8], w[4]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
245 | 244 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp10(w[5], w[6], w[8]);
}
}
250 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[3]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
123 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[3]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[9]);
}
95 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[7]);
out[base + dpl + 1] = interp1(w[5], w[9]);
}
222 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
252 => {
out[base] = interp2(w[5], w[1], w[2]);
out[base + 1] = interp1(w[5], w[2]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp10(w[5], w[6], w[8]);
}
}
249 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp2(w[5], w[3], w[2]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp10(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
235 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp2(w[5], w[3], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp10(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[6]);
}
111 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp10(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp2(w[5], w[9], w[6]);
}
63 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp10(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp2(w[5], w[9], w[8]);
}
159 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp10(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
215 => {
out[base] = interp1(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp10(w[5], w[2], w[6]);
}
out[base + dpl] = interp2(w[5], w[7], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
246 => {
out[base] = interp2(w[5], w[1], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp10(w[5], w[6], w[8]);
}
}
254 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp10(w[5], w[6], w[8]);
}
}
253 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp10(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp10(w[5], w[6], w[8]);
}
}
251 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[3]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp10(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
239 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp10(w[5], w[4], w[2]);
}
out[base + 1] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp10(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[6]);
}
127 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp10(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp2(w[5], w[2], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp2(w[5], w[8], w[4]);
}
out[base + dpl + 1] = interp1(w[5], w[9]);
}
191 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp10(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp10(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[8]);
out[base + dpl + 1] = interp1(w[5], w[8]);
}
223 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp10(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp2(w[5], w[6], w[8]);
}
}
247 => {
out[base] = interp1(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp10(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp10(w[5], w[6], w[8]);
}
}
255 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp10(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
} else {
out[base + 1] = interp10(w[5], w[2], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
} else {
out[base + dpl] = interp10(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 1] = w[5];
} else {
out[base + dpl + 1] = interp10(w[5], w[6], w[8]);
}
}
}
}
#[allow(clippy::too_many_lines)]
pub(crate) fn fill3(pattern: u8, w: &[u32; 10], out: &mut [u32], base: usize, dpl: usize) {
match pattern {
0 | 1 | 4 | 32 | 128 | 5 | 132 | 160 | 33 | 129 | 36 | 133 | 164 | 161 | 37 | 165 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
2 | 34 | 130 | 162 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
16 | 17 | 48 | 49 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
64 | 65 | 68 | 69 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
8 | 12 | 136 | 140 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
3 | 35 | 131 | 163 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
6 | 38 | 134 | 166 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
20 | 21 | 52 | 53 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
144 | 145 | 176 | 177 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
192 | 193 | 196 | 197 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
96 | 97 | 100 | 101 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
40 | 44 | 168 | 172 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
9 | 13 | 137 | 141 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
18 | 50 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
80 | 81 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
72 | 76 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
10 | 138 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
66 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
24 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
7 | 39 | 135 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
148 | 149 | 180 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
224 | 228 | 225 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
41 | 169 | 45 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
22 | 54 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
208 | 209 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
104 | 108 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
11 | 139 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
19 | 51 => {
if colors_differ(w[2], w[6]) {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 2] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[2], w[5]);
out[base + 2] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp1(w[5], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
146 | 178 => {
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
} else {
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp1(w[6], w[5]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
out[base] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
}
84 | 85 => {
if colors_differ(w[6], w[8]) {
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = interp1(w[6], w[5]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp5(w[6], w[8]);
}
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
}
112 | 113 => {
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[8], w[5]);
out[base + 2 * dpl + 2] = interp5(w[6], w[8]);
}
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
200 | 204 => {
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
} else {
out[base + dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl] = interp5(w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[8], w[5]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
}
73 | 77 => {
if colors_differ(w[8], w[4]) {
out[base] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
out[base + dpl] = interp1(w[4], w[5]);
out[base + 2 * dpl] = interp5(w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
}
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
42 | 170 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + dpl] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
} else {
out[base] = interp5(w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[4], w[5]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
14 | 142 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[4], w[2]);
out[base + 1] = interp1(w[2], w[5]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
}
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
67 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
70 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
28 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
152 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
194 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
98 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
56 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
25 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
26 | 31 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
82 | 214 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
88 | 248 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
74 | 107 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
27 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
86 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
216 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
106 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
30 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
210 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
120 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
75 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
29 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
198 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
184 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
99 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
57 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
71 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
156 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
226 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
60 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
195 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
102 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
153 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
58 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
83 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
92 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
202 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
78 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
154 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
114 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
89 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
90 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
55 | 23 => {
if colors_differ(w[2], w[6]) {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[2], w[5]);
out[base + 2] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp1(w[5], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
182 | 150 => {
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
} else {
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp1(w[6], w[5]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
out[base] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
}
213 | 212 => {
if colors_differ(w[6], w[8]) {
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = interp1(w[6], w[5]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp5(w[6], w[8]);
}
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
}
241 | 240 => {
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[8], w[5]);
out[base + 2 * dpl + 2] = interp5(w[6], w[8]);
}
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
236 | 232 => {
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
} else {
out[base + dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl] = interp5(w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[8], w[5]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
}
109 | 105 => {
if colors_differ(w[8], w[4]) {
out[base] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
out[base + dpl] = interp1(w[4], w[5]);
out[base + 2 * dpl] = interp5(w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
}
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
171 | 43 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
} else {
out[base] = interp5(w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[4], w[5]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
143 | 15 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[4], w[2]);
out[base + 1] = interp1(w[2], w[5]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
}
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
124 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
203 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
62 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
211 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
118 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
217 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
110 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
155 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
188 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
185 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
61 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
157 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
103 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
227 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
230 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
199 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
220 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
158 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
234 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
242 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
59 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
121 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
87 => {
out[base] = interp1(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
79 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
122 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
94 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
218 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
91 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
229 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
167 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
173 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
181 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
186 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
115 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
93 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
206 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
205 | 201 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
174 | 46 => {
if colors_differ(w[4], w[2]) {
out[base] = interp1(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
179 | 147 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
117 | 116 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
189 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
231 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
126 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl + 1] = w[5];
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
219 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
125 => {
if colors_differ(w[8], w[4]) {
out[base] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
out[base + dpl] = interp1(w[4], w[5]);
out[base + 2 * dpl] = interp5(w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
}
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
221 => {
if colors_differ(w[6], w[8]) {
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = interp1(w[6], w[5]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp5(w[6], w[8]);
}
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
}
207 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[4], w[2]);
out[base + 1] = interp1(w[2], w[5]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[4]);
}
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
238 => {
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
} else {
out[base + dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl] = interp5(w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[8], w[5]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
}
190 => {
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
} else {
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp1(w[6], w[5]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
out[base] = interp1(w[5], w[1]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
}
187 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
} else {
out[base] = interp5(w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[4], w[5]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
243 => {
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[8], w[5]);
out[base + 2 * dpl + 2] = interp5(w[6], w[8]);
}
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
119 => {
if colors_differ(w[2], w[6]) {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[2], w[5]);
out[base + 2] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp1(w[5], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
237 | 233 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
175 | 47 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
183 | 151 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
245 | 244 => {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
250 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
123 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
95 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
222 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
252 => {
out[base] = interp1(w[5], w[1]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
249 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
235 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
111 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
63 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
159 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
215 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
246 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
254 => {
out[base] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp4(w[5], w[2], w[6]);
}
out[base + dpl + 1] = w[5];
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
253 => {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[5], w[2]);
out[base + 2] = interp1(w[5], w[2]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
251 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + dpl + 1] = w[5];
if colors_differ(w[8], w[4]) {
out[base + dpl] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + dpl] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
if colors_differ(w[6], w[8]) {
out[base + dpl + 2] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
239 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
out[base + 2] = interp1(w[5], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp1(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp1(w[5], w[6]);
}
127 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
out[base + 1] = interp3(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 2] = interp4(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl + 1] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp4(w[5], w[8], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp1(w[5], w[9]);
}
191 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[8]);
out[base + 2 * dpl + 1] = interp1(w[5], w[8]);
out[base + 2 * dpl + 2] = interp1(w[5], w[8]);
}
223 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp4(w[5], w[4], w[2]);
out[base + dpl] = interp3(w[5], w[4]);
}
if colors_differ(w[2], w[6]) {
out[base + 1] = w[5];
out[base + 2] = w[5];
out[base + dpl + 2] = w[5];
} else {
out[base + 1] = interp3(w[5], w[2]);
out[base + 2] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
}
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp4(w[5], w[6], w[8]);
}
}
247 => {
out[base] = interp1(w[5], w[4]);
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
255 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[4], w[2]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
} else {
out[base + 2] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
} else {
out[base + 2 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = w[5];
} else {
out[base + 2 * dpl + 2] = interp2(w[5], w[6], w[8]);
}
}
}
}
#[allow(clippy::too_many_lines)]
pub(crate) fn fill4(pattern: u8, w: &[u32; 10], out: &mut [u32], base: usize, dpl: usize) {
match pattern {
0 | 1 | 4 | 32 | 128 | 5 | 132 | 160 | 33 | 129 | 36 | 133 | 164 | 161 | 37 | 165 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
2 | 34 | 130 | 162 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
16 | 17 | 48 | 49 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
64 | 65 | 68 | 69 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
8 | 12 | 136 | 140 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
3 | 35 | 131 | 163 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
6 | 38 | 134 | 166 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
20 | 21 | 52 | 53 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
144 | 145 | 176 | 177 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
192 | 193 | 196 | 197 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
96 | 97 | 100 | 101 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
40 | 44 | 168 | 172 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
9 | 13 | 137 | 141 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
18 | 50 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
80 | 81 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
72 | 76 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
10 | 138 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
out[base + dpl + 1] = w[5];
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
66 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
24 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
7 | 39 | 135 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
148 | 149 | 180 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
224 | 228 | 225 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
41 | 169 | 45 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
22 | 54 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
208 | 209 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
104 | 108 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
11 | 139 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
19 | 51 => {
if colors_differ(w[2], w[6]) {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[2], w[5]);
out[base + 2] = interp8(w[2], w[6]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp2(w[6], w[5], w[2]);
}
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
146 | 178 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
} else {
out[base + 2] = interp2(w[2], w[5], w[6]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp8(w[6], w[2]);
out[base + 2 * dpl + 3] = interp1(w[6], w[5]);
out[base + 3 * dpl + 3] = interp1(w[5], w[6]);
}
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
}
84 | 85 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp8(w[5], w[2]);
if colors_differ(w[6], w[8]) {
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 3] = interp1(w[5], w[6]);
out[base + dpl + 3] = interp1(w[6], w[5]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp8(w[6], w[8]);
out[base + 3 * dpl + 2] = interp2(w[8], w[5], w[6]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
112 | 113 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp2(w[6], w[5], w[8]);
out[base + 3 * dpl] = interp1(w[5], w[8]);
out[base + 3 * dpl + 1] = interp1(w[8], w[5]);
out[base + 3 * dpl + 2] = interp8(w[8], w[6]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
}
200 | 204 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
} else {
out[base + 2 * dpl] = interp2(w[4], w[5], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp8(w[8], w[4]);
out[base + 3 * dpl + 2] = interp1(w[8], w[5]);
out[base + 3 * dpl + 3] = interp1(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
}
73 | 77 => {
if colors_differ(w[8], w[4]) {
out[base] = interp8(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base] = interp1(w[5], w[4]);
out[base + dpl] = interp1(w[4], w[5]);
out[base + 2 * dpl] = interp8(w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp2(w[8], w[5], w[4]);
}
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
42 | 170 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp2(w[2], w[5], w[4]);
out[base + dpl] = interp8(w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + 2 * dpl] = interp1(w[4], w[5]);
out[base + 3 * dpl] = interp1(w[5], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
14 | 142 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp8(w[2], w[4]);
out[base + 2] = interp1(w[2], w[5]);
out[base + 3] = interp1(w[5], w[2]);
out[base + dpl] = interp2(w[4], w[5], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
}
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
67 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
70 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
28 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
152 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
194 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
98 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
56 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
25 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
26 | 31 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
82 | 214 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
88 | 248 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
}
74 | 107 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
27 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
86 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
216 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
106 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
30 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
210 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
120 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
75 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
29 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
198 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
184 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
99 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
57 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
71 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
156 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
226 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
60 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
195 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
102 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
153 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
58 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
83 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
92 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
202 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
78 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
154 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
114 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
}
89 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
90 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
55 | 23 => {
if colors_differ(w[2], w[6]) {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[2], w[5]);
out[base + 2] = interp8(w[2], w[6]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp2(w[6], w[5], w[2]);
}
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
182 | 150 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = w[5];
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
} else {
out[base + 2] = interp2(w[2], w[5], w[6]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp8(w[6], w[2]);
out[base + 2 * dpl + 3] = interp1(w[6], w[5]);
out[base + 3 * dpl + 3] = interp1(w[5], w[6]);
}
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
}
213 | 212 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp8(w[5], w[2]);
if colors_differ(w[6], w[8]) {
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 3] = interp1(w[5], w[6]);
out[base + dpl + 3] = interp1(w[6], w[5]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp8(w[6], w[8]);
out[base + 3 * dpl + 2] = interp2(w[8], w[5], w[6]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
241 | 240 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp2(w[6], w[5], w[8]);
out[base + 3 * dpl] = interp1(w[5], w[8]);
out[base + 3 * dpl + 1] = interp1(w[8], w[5]);
out[base + 3 * dpl + 2] = interp8(w[8], w[6]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
}
236 | 232 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
} else {
out[base + 2 * dpl] = interp2(w[4], w[5], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp8(w[8], w[4]);
out[base + 3 * dpl + 2] = interp1(w[8], w[5]);
out[base + 3 * dpl + 3] = interp1(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
}
109 | 105 => {
if colors_differ(w[8], w[4]) {
out[base] = interp8(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base] = interp1(w[5], w[4]);
out[base + dpl] = interp1(w[4], w[5]);
out[base + 2 * dpl] = interp8(w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp2(w[8], w[5], w[4]);
}
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
171 | 43 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp2(w[2], w[5], w[4]);
out[base + dpl] = interp8(w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + 2 * dpl] = interp1(w[4], w[5]);
out[base + 3 * dpl] = interp1(w[5], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
143 | 15 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp8(w[2], w[4]);
out[base + 2] = interp1(w[2], w[5]);
out[base + 3] = interp1(w[5], w[2]);
out[base + dpl] = interp2(w[4], w[5], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
}
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
124 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
203 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
62 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
211 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
118 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
217 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
110 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
155 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
188 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
185 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
61 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
157 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
103 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
227 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
230 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
199 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
220 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
}
158 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
234 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
242 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
}
59 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
121 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
87 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
79 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
122 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
94 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
218 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
}
91 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
out[base + dpl + 1] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
229 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
167 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
173 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
181 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
186 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
115 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
}
93 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
206 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
205 | 201 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
} else {
out[base + 2 * dpl] = interp1(w[5], w[4]);
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp1(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
174 | 46 => {
if colors_differ(w[4], w[2]) {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
} else {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp1(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[4]);
out[base + dpl + 1] = w[5];
}
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
179 | 147 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
if colors_differ(w[2], w[6]) {
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
} else {
out[base + 2] = interp1(w[5], w[2]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = interp1(w[5], w[6]);
}
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
117 | 116 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
} else {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = interp1(w[5], w[6]);
out[base + 3 * dpl + 2] = interp1(w[5], w[8]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
}
189 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
231 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
126 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
219 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
125 => {
if colors_differ(w[8], w[4]) {
out[base] = interp8(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base] = interp1(w[5], w[4]);
out[base + dpl] = interp1(w[4], w[5]);
out[base + 2 * dpl] = interp8(w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp2(w[8], w[5], w[4]);
}
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
221 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp8(w[5], w[2]);
if colors_differ(w[6], w[8]) {
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 3] = interp1(w[5], w[6]);
out[base + dpl + 3] = interp1(w[6], w[5]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp8(w[6], w[8]);
out[base + 3 * dpl + 2] = interp2(w[8], w[5], w[6]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
207 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp8(w[2], w[4]);
out[base + 2] = interp1(w[2], w[5]);
out[base + 3] = interp1(w[5], w[2]);
out[base + dpl] = interp2(w[4], w[5], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
}
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
238 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
} else {
out[base + 2 * dpl] = interp2(w[4], w[5], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp8(w[8], w[4]);
out[base + 3 * dpl + 2] = interp1(w[8], w[5]);
out[base + 3 * dpl + 3] = interp1(w[5], w[8]);
}
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
}
190 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = w[5];
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
} else {
out[base + 2] = interp2(w[2], w[5], w[6]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp8(w[6], w[2]);
out[base + 2 * dpl + 3] = interp1(w[6], w[5]);
out[base + 3 * dpl + 3] = interp1(w[5], w[6]);
}
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
}
187 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp2(w[2], w[5], w[4]);
out[base + dpl] = interp8(w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + 2 * dpl] = interp1(w[4], w[5]);
out[base + 3 * dpl] = interp1(w[5], w[4]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
243 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp2(w[6], w[5], w[8]);
out[base + 3 * dpl] = interp1(w[5], w[8]);
out[base + 3 * dpl + 1] = interp1(w[8], w[5]);
out[base + 3 * dpl + 2] = interp8(w[8], w[6]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
}
119 => {
if colors_differ(w[2], w[6]) {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base] = interp1(w[5], w[2]);
out[base + 1] = interp1(w[2], w[5]);
out[base + 2] = interp8(w[2], w[6]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp2(w[6], w[5], w[2]);
}
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
237 | 233 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[6]);
out[base + 3] = interp2(w[5], w[2], w[6]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp7(w[5], w[6], w[2]);
out[base + dpl + 3] = interp6(w[5], w[6], w[2]);
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 3 * dpl] = w[5];
} else {
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 3 * dpl + 1] = w[5];
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
175 | 47 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[2], w[4]);
}
out[base + 1] = w[5];
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp7(w[5], w[6], w[8]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[6]);
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
183 | 151 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 3] = w[5];
} else {
out[base + 3] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = w[5];
out[base + 2 * dpl] = interp6(w[5], w[4], w[8]);
out[base + 2 * dpl + 1] = interp7(w[5], w[4], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[4]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
245 | 244 => {
out[base] = interp2(w[5], w[2], w[4]);
out[base + 1] = interp6(w[5], w[2], w[4]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp6(w[5], w[4], w[2]);
out[base + dpl + 1] = interp7(w[5], w[4], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
250 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
}
123 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
95 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
222 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
252 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp6(w[5], w[2], w[1]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
249 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp6(w[5], w[2], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + 3 * dpl] = w[5];
} else {
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 3 * dpl + 1] = w[5];
}
235 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp6(w[5], w[6], w[3]);
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 3 * dpl] = w[5];
} else {
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 3 * dpl + 1] = w[5];
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
111 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[2], w[4]);
}
out[base + 1] = w[5];
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp6(w[5], w[6], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
63 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[2], w[4]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp6(w[5], w[8], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
159 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 3] = w[5];
} else {
out[base + 3] = interp2(w[5], w[2], w[6]);
}
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp6(w[5], w[8], w[7]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
215 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 3] = w[5];
} else {
out[base + 3] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = w[5];
out[base + 2 * dpl] = interp6(w[5], w[4], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
246 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp6(w[5], w[4], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = w[5];
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
254 => {
out[base] = interp8(w[5], w[1]);
out[base + 1] = interp1(w[5], w[1]);
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = interp1(w[5], w[1]);
out[base + dpl + 1] = interp3(w[5], w[1]);
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
253 => {
out[base] = interp8(w[5], w[2]);
out[base + 1] = interp8(w[5], w[2]);
out[base + 2] = interp8(w[5], w[2]);
out[base + 3] = interp8(w[5], w[2]);
out[base + dpl] = interp3(w[5], w[2]);
out[base + dpl + 1] = interp3(w[5], w[2]);
out[base + dpl + 2] = interp3(w[5], w[2]);
out[base + dpl + 3] = interp3(w[5], w[2]);
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 3 * dpl] = w[5];
} else {
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 3 * dpl + 1] = w[5];
out[base + 3 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
251 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = interp1(w[5], w[3]);
out[base + 3] = interp8(w[5], w[3]);
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[3]);
out[base + dpl + 3] = interp1(w[5], w[3]);
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
if colors_differ(w[8], w[4]) {
out[base + 3 * dpl] = w[5];
} else {
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 3 * dpl + 1] = w[5];
}
239 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[2], w[4]);
}
out[base + 1] = w[5];
out[base + 2] = interp3(w[5], w[6]);
out[base + 3] = interp8(w[5], w[6]);
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = interp3(w[5], w[6]);
out[base + dpl + 3] = interp8(w[5], w[6]);
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[6]);
out[base + 2 * dpl + 3] = interp8(w[5], w[6]);
if colors_differ(w[8], w[4]) {
out[base + 3 * dpl] = w[5];
} else {
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 3 * dpl + 1] = w[5];
out[base + 3 * dpl + 2] = interp3(w[5], w[6]);
out[base + 3 * dpl + 3] = interp8(w[5], w[6]);
}
127 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[2], w[4]);
}
out[base + 1] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 2] = w[5];
out[base + 3] = w[5];
out[base + dpl + 3] = w[5];
} else {
out[base + 2] = interp5(w[2], w[5]);
out[base + 3] = interp5(w[2], w[6]);
out[base + dpl + 3] = interp5(w[6], w[5]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 2 * dpl] = w[5];
out[base + 3 * dpl] = w[5];
out[base + 3 * dpl + 1] = w[5];
} else {
out[base + 2 * dpl] = interp5(w[4], w[5]);
out[base + 3 * dpl] = interp5(w[8], w[4]);
out[base + 3 * dpl + 1] = interp5(w[8], w[5]);
}
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = interp3(w[5], w[9]);
out[base + 2 * dpl + 3] = interp1(w[5], w[9]);
out[base + 3 * dpl + 2] = interp1(w[5], w[9]);
out[base + 3 * dpl + 3] = interp8(w[5], w[9]);
}
191 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[2], w[4]);
}
out[base + 1] = w[5];
out[base + 2] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 3] = w[5];
} else {
out[base + 3] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = w[5];
out[base + 2 * dpl] = interp3(w[5], w[8]);
out[base + 2 * dpl + 1] = interp3(w[5], w[8]);
out[base + 2 * dpl + 2] = interp3(w[5], w[8]);
out[base + 2 * dpl + 3] = interp3(w[5], w[8]);
out[base + 3 * dpl] = interp8(w[5], w[8]);
out[base + 3 * dpl + 1] = interp8(w[5], w[8]);
out[base + 3 * dpl + 2] = interp8(w[5], w[8]);
out[base + 3 * dpl + 3] = interp8(w[5], w[8]);
}
223 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
out[base + 1] = w[5];
out[base + dpl] = w[5];
} else {
out[base] = interp5(w[2], w[4]);
out[base + 1] = interp5(w[2], w[5]);
out[base + dpl] = interp5(w[4], w[5]);
}
out[base + 2] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 3] = w[5];
} else {
out[base + 3] = interp2(w[5], w[2], w[6]);
}
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = w[5];
out[base + 2 * dpl] = interp1(w[5], w[7]);
out[base + 2 * dpl + 1] = interp3(w[5], w[7]);
out[base + 2 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl + 2] = w[5];
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 2 * dpl + 3] = interp5(w[6], w[5]);
out[base + 3 * dpl + 2] = interp5(w[8], w[5]);
out[base + 3 * dpl + 3] = interp5(w[8], w[6]);
}
out[base + 3 * dpl] = interp8(w[5], w[7]);
out[base + 3 * dpl + 1] = interp1(w[5], w[7]);
}
247 => {
out[base] = interp8(w[5], w[4]);
out[base + 1] = interp3(w[5], w[4]);
out[base + 2] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 3] = w[5];
} else {
out[base + 3] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = interp8(w[5], w[4]);
out[base + dpl + 1] = interp3(w[5], w[4]);
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = w[5];
out[base + 2 * dpl] = interp8(w[5], w[4]);
out[base + 2 * dpl + 1] = interp3(w[5], w[4]);
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = w[5];
out[base + 3 * dpl] = interp8(w[5], w[4]);
out[base + 3 * dpl + 1] = interp3(w[5], w[4]);
out[base + 3 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
255 => {
if colors_differ(w[4], w[2]) {
out[base] = w[5];
} else {
out[base] = interp2(w[5], w[2], w[4]);
}
out[base + 1] = w[5];
out[base + 2] = w[5];
if colors_differ(w[2], w[6]) {
out[base + 3] = w[5];
} else {
out[base + 3] = interp2(w[5], w[2], w[6]);
}
out[base + dpl] = w[5];
out[base + dpl + 1] = w[5];
out[base + dpl + 2] = w[5];
out[base + dpl + 3] = w[5];
out[base + 2 * dpl] = w[5];
out[base + 2 * dpl + 1] = w[5];
out[base + 2 * dpl + 2] = w[5];
out[base + 2 * dpl + 3] = w[5];
if colors_differ(w[8], w[4]) {
out[base + 3 * dpl] = w[5];
} else {
out[base + 3 * dpl] = interp2(w[5], w[8], w[4]);
}
out[base + 3 * dpl + 1] = w[5];
out[base + 3 * dpl + 2] = w[5];
if colors_differ(w[6], w[8]) {
out[base + 3 * dpl + 3] = w[5];
} else {
out[base + 3 * dpl + 3] = interp2(w[5], w[8], w[6]);
}
}
}
}