Lines Matching full:alpha
25 #define MULTIPLY_BY_ALPHA(V, ALPHA, OTHER) do { \
26 const uint8x8_t alpha = (V).val[(ALPHA)]; \
27 const uint16x8_t r1 = vmull_u8((V).val[1], alpha); \
28 const uint16x8_t g1 = vmull_u8((V).val[2], alpha); \
29 const uint16x8_t b1 = vmull_u8((V).val[(OTHER)], alpha); \
65 const uint8_t* const alpha = rgba + (alpha_first ? 0 : 3);
66 const uint32_t a = alpha[4 * i];
83 static int DispatchAlpha_NEON(const uint8_t* alpha, int alpha_stride,
91 // We don't know if alpha is first or last in dst[] (depending on rgbA/Argb
96 const uint8x8_t alphas = vld1_u8(alpha + i);
102 const uint32_t alpha_value = alpha[i];
106 alpha += alpha_stride;
115 static void DispatchAlphaToGreen_NEON(const uint8_t* alpha, int alpha_stride,
125 greens.val[1] = vld1_u8(alpha + i);
128 for (; i < width; ++i) dst[i] = alpha[i] << 8;
129 alpha += alpha_stride;
136 uint8_t* alpha, int alpha_stride) {
142 // We don't know if alpha is first or last in dst[] (depending on rgbA/Argb
148 vst1_u8((uint8_t*)(alpha + i), alphas);
152 alpha[i] = argb[4 * i];
153 alpha_mask &= alpha[i];
156 alpha += alpha_stride;
165 uint8_t* alpha, int size) {
170 vst1q_u8(alpha + i, greens);
172 for (; i < size; ++i) alpha[i] = (argb[i] >> 8) & 0xff;