I thought I had written a specific 3x3 function and changed pix_convolve to integer. Had thought this got into to CVS :(
You did!! but it's part of the #ifdef MMX so i didn't want to mess with it and risk breaking something. is there actually any MMX code in pix_convolve? the MMULT() used is defined immediately before processImage() as (a*b>>8), which doesn't look like MMX. should the MMX ifdef be removed? have you checked out the way i've done the altivec code for some of the other pix_? maybe implement MMX in the same way...
Anyhow, you will definitely gain a lot with these optimizations.
yep, night and day. i'm going to write a yuv version of your 3x3 and hopefully get that and the rgb one altivec'd this weekend.
cgc
Greetings, Guenter
On Sat, 1 Mar 2003, chris clepper wrote:
hi
i had a look at pix_convolve over the past two days, and i just committed my changes:
- yuv support added
- massive speed improvement by using integer processing (at least 2x
but 5x in some cases)
- removed the range divide (only added insult to the injury)
- yuv function has option to discard chroma for accurate edge-detection
- added an #ifdef so RGB works properly on OSX
i'm going to write a 3x3 specific function this weekend and see what sort of optimizations can be done with using greater number of registers, unrolled loops, etc. i'll give altivec a shot too. maybe at that point it will be useful to write abstractions based on pix_convolve. now, at least it's somewhat usable on machines available today.
cgc
PD-dev mailing list PD-dev@iem.kug.ac.at http://iem.kug.ac.at/cgi-bin/mailman/listinfo/pd-dev