2 /* mul pixel --> dst */
6 _op_mul_p_dp_mmx(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
9 MOV_A2R(ALPHA_255, mm5)
10 for (; s < e; s++, d++) {
13 MUL4_SYM_R2R(mm2, mm1, mm5)
18 #define _op_mul_pas_dp_mmx _op_mul_p_dp_mmx
19 #define _op_mul_pan_dp_mmx _op_mul_p_dp_mmx
21 #define _op_mul_p_dpan_mmx _op_mul_p_dp_mmx
22 #define _op_mul_pan_dpan_mmx _op_mul_pan_dp_mmx
23 #define _op_mul_pas_dpan_mmx _op_mul_pas_dp_mmx
26 init_mul_pixel_span_funcs_mmx(void)
28 op_mul_span_funcs[SP][SM_N][SC_N][DP][CPU_MMX] = _op_mul_p_dp_mmx;
29 op_mul_span_funcs[SP_AN][SM_N][SC_N][DP][CPU_MMX] = _op_mul_pan_dp_mmx;
30 op_mul_span_funcs[SP_AS][SM_N][SC_N][DP][CPU_MMX] = _op_mul_pas_dp_mmx;
32 op_mul_span_funcs[SP][SM_N][SC_N][DP_AN][CPU_MMX] = _op_mul_p_dpan_mmx;
33 op_mul_span_funcs[SP_AN][SM_N][SC_N][DP_AN][CPU_MMX] = _op_mul_pan_dpan_mmx;
34 op_mul_span_funcs[SP_AS][SM_N][SC_N][DP_AN][CPU_MMX] = _op_mul_pas_dpan_mmx;
40 _op_mul_pt_p_dp_mmx(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
42 MOV_A2R(ALPHA_255, mm5)
45 MUL4_SYM_R2R(mm2, mm1, mm5)
49 #define _op_mul_pt_pan_dp_mmx _op_mul_pt_p_dp_mmx
50 #define _op_mul_pt_pas_dp_mmx _op_mul_pt_p_dp_mmx
52 #define _op_mul_pt_p_dpan_mmx _op_mul_pt_p_dp_mmx
53 #define _op_mul_pt_pan_dpan_mmx _op_mul_pt_pan_dp_mmx
54 #define _op_mul_pt_pas_dpan_mmx _op_mul_pt_pas_dp_mmx
57 init_mul_pixel_pt_funcs_mmx(void)
59 op_mul_pt_funcs[SP][SM_N][SC_N][DP][CPU_MMX] = _op_mul_pt_p_dp_mmx;
60 op_mul_pt_funcs[SP_AN][SM_N][SC_N][DP][CPU_MMX] = _op_mul_pt_pan_dp_mmx;
61 op_mul_pt_funcs[SP_AS][SM_N][SC_N][DP][CPU_MMX] = _op_mul_pt_pas_dp_mmx;
63 op_mul_pt_funcs[SP][SM_N][SC_N][DP_AN][CPU_MMX] = _op_mul_pt_p_dpan_mmx;
64 op_mul_pt_funcs[SP_AN][SM_N][SC_N][DP_AN][CPU_MMX] = _op_mul_pt_pan_dpan_mmx;
65 op_mul_pt_funcs[SP_AS][SM_N][SC_N][DP_AN][CPU_MMX] = _op_mul_pt_pas_dpan_mmx;