template<class DstArrayT, class SrcArrayT, class KerArrayT, class PixOpT, class RedOpT>
Definition at line 26 of file PatRecGenConv2d.h. References ArrayCH(), ArrayCW(), BORDERPROPAGATE, Impala::Core::Array::CheckBorderSize(), FuncRecGenConv2dDispatch(), PatSet(), PatSetBorder(), PX_COUT, PX_ENDL, PxArrayForceNonDistributed(), and PxRunParallel(). Referenced by Impala::Samples::Talk::DoTalkRecGenConv2d(). 00028 { 00029 int numX = ArrayCW(ker) / 2; 00030 int numY = ArrayCH(ker) / 2; 00031 SrcArrayT* checkedSrc = CheckBorderSize(src, numX, numY); 00032 00033 if (checkedSrc != src) 00034 { 00035 if ((dst != 0) && (dst != src)) 00036 delete dst; 00037 dst = checkedSrc; 00038 } 00039 else 00040 { 00041 if (dst != src) 00042 PatSet(dst, src); 00043 } 00044 00045 #ifdef PX_HORUS_USED 00046 if (!PxRunParallel()) { // run sequential 00047 #endif 00048 PatSetBorder(dst, numX, numY, BORDERPROPAGATE); 00049 FuncRecGenConv2dDispatch(dst, ker, pixOp, redOp); 00050 00051 #ifdef PX_HORUS_USED 00052 } else { // run parallel 00053 PX_COUT << "NOTE: PatRecGenConv2d NOT PARALLELIZED YET!" 00054 << PX_ENDL; 00055 PxArrayForceNonDistributed(dst); 00056 PatSetBorder(dst, numX, numY, BORDERPROPAGATE); 00057 FuncRecGenConv2dDispatch(dst, ker, pixOp, redOp); 00058 } 00059 #endif 00060 }
Here is the call graph for this function:
|