[patch] pwarp
Jules Bergmann
jules at codesourcery.com
Wed Dec 5 16:18:47 UTC 2007
Here's a preliminary perspective warp (aka pwarp) patch.
It contains:
- both a perspective_warp function and a Perspective_warp
image processing object.
- a generic implementation that works mostly everywhere and with
every type (albeit slowly).
- SIMD optimized versions for float/float and float/uchar. Key: for
X/Y, X is the perspective coeff type, Y is the image value type.
Float and double are the only reasonable values for X, but Y could
easily be float, int, short, unsigned char, etc.
- CBE optimized version for float/uchar. A float/float version would
not be too hard.
- unit tests and benchmark.
This is preliminary patch (but its been hanging out so long I wanted to
get it posted). In particular, before checking in, I will:
- get rid of remaining #if 0 debug cruft.
- fix SIMD version to work on SSE (currently it has some hardcoded
altivec bits).
- unify the different SIMD variants (there are currently three SIMD
float/uchar impls: the functional version, the processing object
version, and the SPU version). Otherwise, what is the point of
our fancy SIMD traits? (This doesn't apply to different coeff/image
types. I.e. SIMD float/float and float/uchar cannot reasonably be
unified).
- finish up the SPU SIMD traits.
After checking in:
- generalize the SPU streaming. Right now it assumes the perspective
warp coefficients are "low tilt" when sending out necessary regions
of the source image. It would not reasonably handle a warp that
rotated the image by 90 degrees.
-- Jules
--
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pwarp.diff
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20071205/03bb6c3a/attachment.ksh>
More information about the vsipl++
mailing list