4
uint8_t src[COUNT * 32 + 9];
5
uint8_t dst[COUNT * 32];
14
const int A = (8-x)*(8-y);
15
const int B = x*(8-y);
16
const int C = (8-x)*y;
19
for (int i=0; i<h; i++)
21
dst[0] = (((dst[0])+((((A*src[0] + B*src[1] + C*src[stride+0] + D*src[stride+1])) + 32)>>6)+1)>>1);
22
dst[1] = (((dst[1])+((((A*src[1] + B*src[2] + C*src[stride+1] + D*src[stride+2])) + 32)>>6)+1)>>1);
23
dst[2] = (((dst[2])+((((A*src[2] + B*src[3] + C*src[stride+2] + D*src[stride+3])) + 32)>>6)+1)>>1);
24
dst[3] = (((dst[3])+((((A*src[3] + B*src[4] + C*src[stride+3] + D*src[stride+4])) + 32)>>6)+1)>>1);
25
dst[4] = (((dst[4])+((((A*src[4] + B*src[5] + C*src[stride+4] + D*src[stride+5])) + 32)>>6)+1)>>1);
26
dst[5] = (((dst[5])+((((A*src[5] + B*src[6] + C*src[stride+5] + D*src[stride+6])) + 32)>>6)+1)>>1);
27
dst[6] = (((dst[6])+((((A*src[6] + B*src[7] + C*src[stride+6] + D*src[stride+7])) + 32)>>6)+1)>>1);
28
dst[7] = (((dst[7])+((((A*src[7] + B*src[8] + C*src[stride+7] + D*src[stride+8])) + 32)>>6)+1)>>1);
35
const int step = C ? stride : 1;
36
for (int i=0; i<h; i++)
38
dst[0] = (((dst[0])+((((A*src[0] + E*src[step+0])) + 32)>>6)+1)>>1);
39
dst[1] = (((dst[1])+((((A*src[1] + E*src[step+1])) + 32)>>6)+1)>>1);
40
dst[2] = (((dst[2])+((((A*src[2] + E*src[step+2])) + 32)>>6)+1)>>1);
41
dst[3] = (((dst[3])+((((A*src[3] + E*src[step+3])) + 32)>>6)+1)>>1);
42
dst[4] = (((dst[4])+((((A*src[4] + E*src[step+4])) + 32)>>6)+1)>>1);
43
dst[5] = (((dst[5])+((((A*src[5] + E*src[step+5])) + 32)>>6)+1)>>1);
44
dst[6] = (((dst[6])+((((A*src[6] + E*src[step+6])) + 32)>>6)+1)>>1);
45
dst[7] = (((dst[7])+((((A*src[7] + E*src[step+7])) + 32)>>6)+1)>>1);