move around - flatter.
[profile/ivi/evas.git] / src / lib / engines / common / evas_op_mul / op_mul_pixel_.c
1
2 /* mul pixel --> dst */
3
4 #ifdef BUILD_C
5 static void
6 _op_mul_p_dp(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
7    DATA32 *e = d + l;
8    for (; d < e; d++, s++) {
9       *d = MUL4_SYM(*s, *d);
10    }
11 }
12
13 #define _op_mul_pas_dp _op_mul_p_dp
14 #define _op_mul_pan_dp _op_mul_p_dp
15
16 #define _op_mul_p_dpan _op_mul_p_dp
17 #define _op_mul_pas_dpan _op_mul_pas_dp
18 #define _op_mul_pan_dpan _op_mul_pan_dp
19
20 static void
21 init_mul_pixel_span_funcs_c(void)
22 {
23    op_mul_span_funcs[SP][SM_N][SC_N][DP][CPU_C] = _op_mul_p_dp;
24    op_mul_span_funcs[SP_AS][SM_N][SC_N][DP][CPU_C] = _op_mul_pas_dp;
25    op_mul_span_funcs[SP_AN][SM_N][SC_N][DP][CPU_C] = _op_mul_pan_dp;
26
27    op_mul_span_funcs[SP][SM_N][SC_N][DP_AN][CPU_C] = _op_mul_p_dpan;
28    op_mul_span_funcs[SP_AS][SM_N][SC_N][DP_AN][CPU_C] = _op_mul_pas_dpan;
29    op_mul_span_funcs[SP_AN][SM_N][SC_N][DP_AN][CPU_C] = _op_mul_pan_dpan;
30 }
31 #endif
32
33 #ifdef BUILD_C
34 static void
35 _op_mul_pt_p_dp(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
36       *d = MUL4_SYM(s, *d);
37 }
38
39 #define _op_mul_pt_pas_dp _op_mul_pt_p_dp
40 #define _op_mul_pt_pan_dp _op_mul_pt_p_dp
41
42 #define _op_mul_pt_p_dpan _op_mul_pt_p_dp
43 #define _op_mul_pt_pan_dpan _op_mul_pt_pan_dp
44 #define _op_mul_pt_pas_dpan _op_mul_pt_pas_dp
45
46 static void
47 init_mul_pixel_pt_funcs_c(void)
48 {
49    op_mul_pt_funcs[SP][SM_N][SC_N][DP][CPU_C] = _op_mul_pt_p_dp;
50    op_mul_pt_funcs[SP_AS][SM_N][SC_N][DP][CPU_C] = _op_mul_pt_pas_dp;
51    op_mul_pt_funcs[SP_AN][SM_N][SC_N][DP][CPU_C] = _op_mul_pt_pan_dp;
52
53    op_mul_pt_funcs[SP][SM_N][SC_N][DP_AN][CPU_C] = _op_mul_pt_p_dpan;
54    op_mul_pt_funcs[SP_AS][SM_N][SC_N][DP_AN][CPU_C] = _op_mul_pt_pas_dpan;
55    op_mul_pt_funcs[SP_AN][SM_N][SC_N][DP_AN][CPU_C] = _op_mul_pt_pan_dpan;
56 }
57 #endif