1 --- SDLcam-0.7.3/filter/Absdiff.c.orig Sun Aug 25 23:54:47 2002
2 +++ SDLcam-0.7.3/filter/Absdiff.c Wed Sep 3 14:29:03 2003
5 /* {{{ D = [A-B] OR [B-A] ; [] mean sturated to 0 */
6 if (len < 8) return 0; // image size must be at least 8 bytes
20 - movq 8(%%esi), %%mm1
21 - movq 16(%%esi), %%mm2
22 - movq 24(%%esi), %%mm3
24 - movq 8(%%ebx), %%mm5
25 - movq 16(%%ebx), %%mm6
26 - movq 24(%%ebx), %%mm7
27 - psubusb %%mm4 , %%mm0
28 - psubusb %%mm5 , %%mm1
29 - psubusb %%mm6 , %%mm2
30 - psubusb %%mm7 , %%mm3
31 - psubusb (%%esi), %%mm4
32 - psubusb 8(%%esi), %%mm5
33 - psubusb 16(%%esi), %%mm6
34 - psubusb 24(%%esi), %%mm7
40 - movq %%mm1, 8(%%edi)
41 - movq %%mm2, 16(%%edi)
42 - movq %%mm3, 24(%%edi)
66 +" movq (%%esi), %%mm0\n"
67 +" movq 8(%%esi), %%mm1\n"
68 +" movq 16(%%esi), %%mm2\n"
69 +" movq 24(%%esi), %%mm3\n"
70 +" movq (%%ebx), %%mm4\n"
71 +" movq 8(%%ebx), %%mm5\n"
72 +" movq 16(%%ebx), %%mm6\n"
73 +" movq 24(%%ebx), %%mm7\n"
74 +" psubusb %%mm4 , %%mm0\n"
75 +" psubusb %%mm5 , %%mm1\n"
76 +" psubusb %%mm6 , %%mm2\n"
77 +" psubusb %%mm7 , %%mm3\n"
78 +" psubusb (%%esi), %%mm4\n"
79 +" psubusb 8(%%esi), %%mm5\n"
80 +" psubusb 16(%%esi), %%mm6\n"
81 +" psubusb 24(%%esi), %%mm7\n"
82 +" por %%mm4 , %%mm0\n"
83 +" por %%mm5 , %%mm1\n"
84 +" por %%mm6 , %%mm2\n"
85 +" por %%mm7 , %%mm3\n"
86 +" movq %%mm0, (%%edi)\n"
87 +" movq %%mm1, 8(%%edi)\n"
88 +" movq %%mm2, 16(%%edi)\n"
89 +" movq %%mm3, 24(%%edi)\n"
94 +" jnz .absdiff_MMX\n"