template<class DstArrayT, class SrcArrayT, class NgbT>
Row : phase 2, loop.
Definition at line 171 of file FuncNgbOp2d.h. References ArrayCPB(), ArrayCW(), ArrayInc(), FuncNgbOp2d_Pix_P1Loop(), FuncNgbOp2d_Pix_P2Loop(), PtrRead(), and PtrWrite(). 00173 { 00174 typedef typename DstArrayT::StorType DstStorT; 00175 typedef typename DstArrayT::ArithType DstArithT; 00176 typedef typename SrcArrayT::StorType SrcStorT; 00177 typedef typename SrcArrayT::ArithType SrcArithT; 00178 00179 int ngbWidth = ngb.Width(); 00180 int ngbHeight = ngb.Height(); 00181 int width = ArrayCW(dst); 00182 DstStorT* dPtr = ArrayCPB(dst, 0, y); 00183 SrcStorT* sPtr = ArrayCPB(src, -ngbWidth/2, y-ngbHeight/2); 00184 SrcStorT* cenPtr = ArrayCPB(src, 0, y); 00185 int srcIncX = ArrayInc(src, 1, 0); 00186 int srcIncY = ArrayInc(src, -ngbWidth, 1); 00187 for (int x=0 ; x<width ; x++) 00188 { 00189 ngb.Init(x, y, PtrRead(cenPtr, SrcArithT())); 00190 FuncNgbOp2d_Pix_P1Loop(sPtr, ngb, ngbWidth, ngbHeight, srcIncX, 00191 srcIncY, SrcArithT()); 00192 ngb.Init2(x, y, PtrRead(cenPtr, SrcArithT())); 00193 FuncNgbOp2d_Pix_P2Loop(sPtr, ngb, ngbWidth, ngbHeight, srcIncX, 00194 srcIncY, SrcArithT()); 00195 PtrWrite(dPtr, ngb.Result()); 00196 dPtr += DstArrayT::ElemSize(); 00197 sPtr += SrcArrayT::ElemSize(); 00198 cenPtr += SrcArrayT::ElemSize(); 00199 } 00200 }
Here is the call graph for this function:
|