template<class DstArrayT, class SrcArrayT, class NgbT>
Row : phase 1, loop.
Definition at line 139 of file FuncNgbOp2d.h. References ArrayCPB(), ArrayCW(), ArrayInc(), FuncNgbOp2d_Pix_P1Loop(), PtrRead(), and PtrWrite(). 00141 { 00142 typedef typename DstArrayT::StorType DstStorT; 00143 typedef typename DstArrayT::ArithType DstArithT; 00144 typedef typename SrcArrayT::StorType SrcStorT; 00145 typedef typename SrcArrayT::ArithType SrcArithT; 00146 00147 int ngbWidth = ngb.Width(); 00148 int ngbHeight = ngb.Height(); 00149 int width = ArrayCW(dst); 00150 DstStorT* dPtr = ArrayCPB(dst, 0, y); 00151 SrcStorT* sPtr = ArrayCPB(src, -ngbWidth/2, y-ngbHeight/2); 00152 SrcStorT* cenPtr = ArrayCPB(src, 0, y); 00153 int srcIncX = ArrayInc(src, 1, 0); 00154 int srcIncY = ArrayInc(src, -ngbWidth, 1); 00155 for (int x=0 ; x<width ; x++) 00156 { 00157 ngb.Init(x, y, PtrRead(cenPtr, SrcArithT())); 00158 FuncNgbOp2d_Pix_P1Loop(sPtr, ngb, ngbWidth, ngbHeight, srcIncX, 00159 srcIncY, SrcArithT()); 00160 PtrWrite(dPtr, ngb.Result()); 00161 dPtr += DstArrayT::ElemSize(); 00162 sPtr += SrcArrayT::ElemSize(); 00163 cenPtr += SrcArrayT::ElemSize(); 00164 } 00165 }
Here is the call graph for this function:
|