2 /* mul pixel x color --> dst */
6 _op_mul_p_c_dp(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
9 DATA32 cs = MUL4_SYM(c, *s);
10 *d = MUL4_SYM(cs, *d);
16 _op_mul_p_caa_dp(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
21 DATA32 cs = MUL_256(c, *s);
22 *d = MUL4_SYM(cs, *d);
27 #define _op_mul_pas_c_dp _op_mul_p_c_dp
28 #define _op_mul_pan_c_dp _op_mul_p_c_dp
29 #define _op_mul_p_can_dp _op_mul_p_c_dp
30 #define _op_mul_pas_can_dp _op_mul_p_c_dp
31 #define _op_mul_pan_can_dp _op_mul_p_c_dp
32 #define _op_mul_pas_caa_dp _op_mul_p_caa_dp
33 #define _op_mul_pan_caa_dp _op_mul_p_caa_dp
35 #define _op_mul_p_c_dpan _op_mul_p_c_dp
36 #define _op_mul_pas_c_dpan _op_mul_pas_c_dp
37 #define _op_mul_pan_c_dpan _op_mul_pan_c_dp
38 #define _op_mul_p_can_dpan _op_mul_p_can_dp
39 #define _op_mul_pas_can_dpan _op_mul_pas_can_dp
40 #define _op_mul_pan_can_dpan _op_mul_pan_can_dp
41 #define _op_mul_p_caa_dpan _op_mul_p_caa_dp
42 #define _op_mul_pas_caa_dpan _op_mul_pas_caa_dp
43 #define _op_mul_pan_caa_dpan _op_mul_pan_caa_dp
46 init_mul_pixel_color_span_funcs_c(void)
48 op_mul_span_funcs[SP][SM_N][SC][DP][CPU_C] = _op_mul_p_c_dp;
49 op_mul_span_funcs[SP_AS][SM_N][SC][DP][CPU_C] = _op_mul_pas_c_dp;
50 op_mul_span_funcs[SP_AN][SM_N][SC][DP][CPU_C] = _op_mul_pan_c_dp;
51 op_mul_span_funcs[SP][SM_N][SC_AN][DP][CPU_C] = _op_mul_p_can_dp;
52 op_mul_span_funcs[SP_AS][SM_N][SC_AN][DP][CPU_C] = _op_mul_pas_can_dp;
53 op_mul_span_funcs[SP_AN][SM_N][SC_AN][DP][CPU_C] = _op_mul_pan_can_dp;
54 op_mul_span_funcs[SP][SM_N][SC_AA][DP][CPU_C] = _op_mul_p_caa_dp;
55 op_mul_span_funcs[SP_AS][SM_N][SC_AA][DP][CPU_C] = _op_mul_pas_caa_dp;
56 op_mul_span_funcs[SP_AN][SM_N][SC_AA][DP][CPU_C] = _op_mul_pan_caa_dp;
58 op_mul_span_funcs[SP][SM_N][SC][DP_AN][CPU_C] = _op_mul_p_c_dpan;
59 op_mul_span_funcs[SP_AS][SM_N][SC][DP_AN][CPU_C] = _op_mul_pas_c_dpan;
60 op_mul_span_funcs[SP_AN][SM_N][SC][DP_AN][CPU_C] = _op_mul_pan_c_dpan;
61 op_mul_span_funcs[SP][SM_N][SC_AN][DP_AN][CPU_C] = _op_mul_p_can_dpan;
62 op_mul_span_funcs[SP_AS][SM_N][SC_AN][DP_AN][CPU_C] = _op_mul_pas_can_dpan;
63 op_mul_span_funcs[SP_AN][SM_N][SC_AN][DP_AN][CPU_C] = _op_mul_pan_can_dpan;
64 op_mul_span_funcs[SP][SM_N][SC_AA][DP_AN][CPU_C] = _op_mul_p_caa_dpan;
65 op_mul_span_funcs[SP_AS][SM_N][SC_AA][DP_AN][CPU_C] = _op_mul_pas_caa_dpan;
66 op_mul_span_funcs[SP_AN][SM_N][SC_AA][DP_AN][CPU_C] = _op_mul_pan_caa_dpan;
72 _op_mul_pt_p_c_dp(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
78 _op_mul_pt_p_caa_dp(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
79 s = MUL_SYM(c >> 24, s);
83 #define _op_mul_pt_pas_c_dp _op_mul_pt_p_c_dp
84 #define _op_mul_pt_pan_c_dp _op_mul_pt_p_c_dp
85 #define _op_mul_pt_p_can_dp _op_mul_pt_p_c_dp
86 #define _op_mul_pt_pas_can_dp _op_mul_pt_p_c_dp
87 #define _op_mul_pt_pan_can_dp _op_mul_pt_p_c_dp
88 #define _op_mul_pt_pas_caa_dp _op_mul_pt_p_caa_dp
89 #define _op_mul_pt_pan_caa_dp _op_mul_pt_p_caa_dp
91 #define _op_mul_pt_p_c_dpan _op_mul_pt_p_c_dp
92 #define _op_mul_pt_pan_c_dpan _op_mul_pt_pan_c_dp
93 #define _op_mul_pt_pas_c_dpan _op_mul_pt_pas_c_dp
94 #define _op_mul_pt_p_can_dpan _op_mul_pt_p_can_dp
95 #define _op_mul_pt_pan_can_dpan _op_mul_pt_pan_can_dp
96 #define _op_mul_pt_pas_can_dpan _op_mul_pt_pas_can_dp
97 #define _op_mul_pt_p_caa_dpan _op_mul_pt_p_caa_dp
98 #define _op_mul_pt_pan_caa_dpan _op_mul_pt_pan_caa_dp
99 #define _op_mul_pt_pas_caa_dpan _op_mul_pt_pas_caa_dp
101 init_mul_pixel_color_pt_funcs_c(void)
103 op_mul_pt_funcs[SP][SM_N][SC][DP][CPU_C] = _op_mul_pt_p_c_dp;
104 op_mul_pt_funcs[SP_AS][SM_N][SC][DP][CPU_C] = _op_mul_pt_pas_c_dp;
105 op_mul_pt_funcs[SP_AN][SM_N][SC][DP][CPU_C] = _op_mul_pt_pan_c_dp;
106 op_mul_pt_funcs[SP][SM_N][SC_AN][DP][CPU_C] = _op_mul_pt_p_can_dp;
107 op_mul_pt_funcs[SP_AS][SM_N][SC_AN][DP][CPU_C] = _op_mul_pt_pas_can_dp;
108 op_mul_pt_funcs[SP_AN][SM_N][SC_AN][DP][CPU_C] = _op_mul_pt_pan_can_dp;
109 op_mul_pt_funcs[SP][SM_N][SC_AA][DP][CPU_C] = _op_mul_pt_p_caa_dp;
110 op_mul_pt_funcs[SP_AS][SM_N][SC_AA][DP][CPU_C] = _op_mul_pt_pas_caa_dp;
111 op_mul_pt_funcs[SP_AN][SM_N][SC_AA][DP][CPU_C] = _op_mul_pt_pan_caa_dp;
113 op_mul_pt_funcs[SP][SM_N][SC][DP_AN][CPU_C] = _op_mul_pt_p_c_dpan;
114 op_mul_pt_funcs[SP_AS][SM_N][SC][DP_AN][CPU_C] = _op_mul_pt_pas_c_dpan;
115 op_mul_pt_funcs[SP_AN][SM_N][SC][DP_AN][CPU_C] = _op_mul_pt_pan_c_dpan;
116 op_mul_pt_funcs[SP][SM_N][SC_AN][DP_AN][CPU_C] = _op_mul_pt_p_can_dpan;
117 op_mul_pt_funcs[SP_AS][SM_N][SC_AN][DP_AN][CPU_C] = _op_mul_pt_pas_can_dpan;
118 op_mul_pt_funcs[SP_AN][SM_N][SC_AN][DP_AN][CPU_C] = _op_mul_pt_pan_can_dpan;
119 op_mul_pt_funcs[SP][SM_N][SC_AA][DP_AN][CPU_C] = _op_mul_pt_p_caa_dpan;
120 op_mul_pt_funcs[SP_AS][SM_N][SC_AA][DP_AN][CPU_C] = _op_mul_pt_pas_caa_dpan;
121 op_mul_pt_funcs[SP_AN][SM_N][SC_AA][DP_AN][CPU_C] = _op_mul_pt_pan_caa_dpan;