[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