 |
|
|
|
Actions
|
|
[ Date Prev][ Date Next][ Thread Prev][ Thread Next][ Date Index][ Thread Index]
Re: [vsipl++] [patch] pwarp
- To: VSIPL++ Developers List <vsipl++@xxxxxxxxxxxxxxxx>
- Subject: Re: [vsipl++] [patch] pwarp
- From: Jules Bergmann <jules@xxxxxxxxxxxxxxxx>
- Date: Thu, 13 Dec 2007 10:58:21 -0500
Oops, didn't save teh changelog before creating the diff. Here's the
right ChangeLog.
Jules Bergmann wrote:
Here's an update to the pwarp patch.
It addresses these:
- get rid of remaining #if 0 debug cruft.
>
> - finish up the SPU SIMD traits.
It doesn't address these. I need to put more thought into how handle
some of the 8-bit math. Also, the location of the SPU kernel (in vsip)
makes it unsightly to depend on code from vsip_csl.
- 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).
>
> - fix SIMD version to work on SSE (currently it has some hardcoded
> altivec bits).
However, these aren't show stoppers.
Also, my original attempt to make error_db work for unsigned char broke
it for complex. I've fixed that, and added a unit test for error_db.
Ok to apply?
-- Jules
--
Jules Bergmann
CodeSourcery
jules@xxxxxxxxxxxxxxxx
(650) 331-3385 x705
Index: ChangeLog
===================================================================
--- ChangeLog (revision 188744)
+++ ChangeLog (working copy)
@@ -1,5 +1,44 @@
2007-12-05 Jules Bergmann <jules@xxxxxxxxxxxxxxxx>
+ Fix error_db to work with unsigned and low-precision types.
+ * src/vsip/core/lvalue_proxy.hpp (Is_lvalue_proxy_type): New trait to
+ identify an lvalue proxy type.
+ * src/vsip/core/fns_elementwise.hpp: Handle scalar lvalue proxy types.
+ * src/vsip/core/view_cast.hpp: Fix typo in expr block type.
+ * src/vsip/core/fns_scalar.hpp (magsq): avoid using abs (inefficient
+ for complex, overload ambiguous for integers).
+ * tests/vsip_csl/error_db.cpp: New file, unit test for error_db.
+
+ * src/vsip/opt/cbe/pwarp_params.h: New file, pwarp ALF kernel
+ parameter block.
+ * src/vsip/opt/cbe/ppu/pwarp.hpp: New file, pwarp ALF kernel bridge.
+ * src/vsip/opt/cbe/ppu/pwarp.cpp: New file, pwarp ALF kernel bridge.
+ * src/vsip/opt/cbe/spu/alf_pwarp_ub.cpp: New file, pwarp ALF kernel.
+ * src/vsip/opt/cbe/ppu/task_manager.hpp: Add tag for uchar pwarp
+ ALF task.
+ * src/vsip/opt/cbe/spu/GNUmakefile.inc.in: Add rules for C++ ALF
+ kernels.
+ * src/vsip/opt/simd/simd.hpp: Add AltiVec unsigned short and
+ unsigned int support. Split common traits into ...
+ * src/vsip/opt/simd/simd_common.hpp: ... here, new file.
+ * src/vsip/opt/simd/simd_spu.hpp: New file, SPU SIMD traits.
+ * src/vsip/GNUmakefile.inc.in (src_vsip_cxx_sources): Add pwarp.cpp
+ * src/vsip_csl/error_db.hpp: Cast difference to double, allows
+ error_db to be used for unsigned types.
+ * src/vsip_csl/img/impl/pwarp_common.hpp: New file, common bits
+ for perspective warp.
+ * src/vsip_csl/img/impl/pwarp_cbe.hpp: New file, CBE pwarp BE.
+ * src/vsip_csl/img/impl/pwarp_gen.hpp: New file, generic pwarp BE.
+ * src/vsip_csl/img/impl/pwarp_simd.hpp: New file, SIMD pwarp BE.
+ * src/vsip_csl/img/perspective_warp.hpp: New file, API and functional
+ pwarp impl.
+ * src/vsip_csl/ref_pwarp.hp: New file, reference version of pwarp
+ algorithm.
+ * tests/vsip_csl/pwarp.cpp: New file, unit test for pwarp.
+ * benchmarks/pwarp.cpp: New file, benchmark for pwarp.
+
+2007-12-05 Jules Bergmann <jules@xxxxxxxxxxxxxxxx>
+
* src/vsip/core/signal/types.hpp (support_min_zeropad): New
support_region_type.
* src/vsip_csl/img/impl/sfilt_common.hpp: New file, common
|
|