template<class DstArrayT, class SrcArrayT, class KerArrayT, class PixOpT, class RedOpT>
Line : X direction (inc), using pointer call. Processes the entire line designated by y using pointer call. This function does the same operation as FuncGenConv2dSep_Line_Xdir but the code of FuncGenConv2dSep_Pix_Xdir is inserted in the loop (instead of calling the function like FuncGenConv2dSep_Line_Xdir does). Definition at line 170 of file FuncGenConv2dSep.h. References ArrayCPB(), and ArrayCW(). Referenced by FuncGenConv2dSepDispatch_H(). 00173 { 00174 typedef typename DstArrayT::StorType DstStorT; 00175 typedef typename SrcArrayT::StorType SrcStorT; 00176 typedef typename KerArrayT::StorType KerStorT; 00177 00178 int width = ArrayCW(dst); 00179 int kerWidth = ArrayCW(ker); 00180 int kerBW = ArrayCW(ker) / 2; 00181 KerStorT buf[KerArrayT::ElemSize()]; 00182 for (int x=0 ; x<width ; x++) 00183 { 00184 DstStorT* dPtr = ArrayCPB(dst, x, y); 00185 SrcStorT* sPtr = ArrayCPB(src, -kerBW + x, y); 00186 KerStorT* kPtr = ArrayCPB(ker, 0, 0); 00187 redOp.setNeutral(dPtr); 00188 for (int k=0; k<kerWidth; k++) 00189 { 00190 pixOp.DoIt(buf, sPtr, kPtr); 00191 sPtr += SrcArrayT::ElemSize(); 00192 kPtr += KerArrayT::ElemSize(); 00193 redOp.DoIt(dPtr, buf); 00194 } 00195 } 00196 }
Here is the call graph for this function:
|