2 /* mul pixel x mask --> dst */
6 _op_mul_p_mas_dp(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
16 *d = MUL4_SYM(*s, *d);
29 _op_mul_pan_mas_dp(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
39 *d = (*d & 0xff000000) + MUL3_SYM(*s, *d);
44 *d = (*d & 0xff000000) + MUL3_SYM(c, *d);
52 _op_mul_p_mas_dpan(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
62 *d = (*s & 0xff000000) + MUL3_SYM(*s, *d);
67 *d = (c & 0xff000000) + MUL3_SYM(c, *d);
74 #define _op_mul_pas_mas_dp _op_mul_p_mas_dp
76 #define _op_mul_pan_mas_dpan _op_mul_p_mas_dpan
77 #define _op_mul_pas_mas_dpan _op_mul_p_mas_dpan
80 init_mul_pixel_mask_span_funcs_c(void)
82 op_mul_span_funcs[SP][SM_AS][SC_N][DP][CPU_C] = _op_mul_p_mas_dp;
83 op_mul_span_funcs[SP_AS][SM_AS][SC_N][DP][CPU_C] = _op_mul_pas_mas_dp;
84 op_mul_span_funcs[SP_AN][SM_AS][SC_N][DP][CPU_C] = _op_mul_pan_mas_dp;
86 op_mul_span_funcs[SP][SM_AS][SC_N][DP_AN][CPU_C] = _op_mul_p_mas_dpan;
87 op_mul_span_funcs[SP_AS][SM_AS][SC_N][DP_AN][CPU_C] = _op_mul_pas_mas_dpan;
88 op_mul_span_funcs[SP_AN][SM_AS][SC_N][DP_AN][CPU_C] = _op_mul_pan_mas_dpan;
94 _op_mul_pt_p_mas_dp(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
100 #define _op_mul_pt_pas_mas_dp _op_mul_pt_p_mas_dp
101 #define _op_mul_pt_pan_mas_dp _op_mul_pt_p_mas_dp
103 #define _op_mul_pt_p_mas_dpan _op_mul_pt_p_mas_dp
104 #define _op_mul_pt_pas_mas_dpan _op_mul_pt_p_mas_dp
105 #define _op_mul_pt_pan_mas_dpan _op_mul_pt_p_mas_dp
108 init_mul_pixel_mask_pt_funcs_c(void)
110 op_mul_pt_funcs[SP][SM_AS][SC_N][DP][CPU_C] = _op_mul_pt_p_mas_dp;
111 op_mul_pt_funcs[SP_AS][SM_AS][SC_N][DP][CPU_C] = _op_mul_pt_pas_mas_dp;
112 op_mul_pt_funcs[SP_AN][SM_AS][SC_N][DP][CPU_C] = _op_mul_pt_pan_mas_dp;
114 op_mul_pt_funcs[SP][SM_AS][SC_N][DP_AN][CPU_C] = _op_mul_pt_p_mas_dpan;
115 op_mul_pt_funcs[SP_AS][SM_AS][SC_N][DP_AN][CPU_C] = _op_mul_pt_pas_mas_dpan;
116 op_mul_pt_funcs[SP_AN][SM_AS][SC_N][DP_AN][CPU_C] = _op_mul_pt_pan_mas_dpan;