Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

template<class DstArrayT, class SrcArrayT, class ExtraArrayT, class NgbT>
void Impala::Core::Array::Pattern::FuncNgbOp2dExtra_Row ( DstArrayT *  dst,
SrcArrayT *  src,
ExtraArrayT *  extra,
NgbT &  ngb,
int  y,
Tag1Phase  dummy1,
TagLoop  dummy2 
) [inline]

Row : phase 1, loop.

Definition at line 159 of file FuncNgbOp2dExtra.h.

References ArrayCPB(), ArrayCW(), ArrayInc(), FuncNgbOp2dExtra_Pix_P1Loop(), PtrRead(), and PtrWrite().

00161 {
00162     typedef typename DstArrayT::StorType DstStorT;
00163     typedef typename DstArrayT::ArithType DstArithT;
00164     typedef typename SrcArrayT::StorType SrcStorT;
00165     typedef typename SrcArrayT::ArithType SrcArithT;
00166     typedef typename ExtraArrayT::StorType ExtraStorT;
00167     typedef typename ExtraArrayT::ArithType ExtraArithT;
00168 
00169     int ngbWidth = ngb.Width();
00170     int ngbHeight = ngb.Height();
00171     int width = ArrayCW(dst);
00172     DstStorT* dPtr = ArrayCPB(dst, 0, y);
00173     SrcStorT* sPtr = ArrayCPB(src, -ngbWidth/2, y-ngbHeight/2);
00174     SrcStorT* ePtr = ArrayCPB(extra, -ngbWidth/2, y-ngbHeight/2);
00175     SrcStorT* cenPtr = ArrayCPB(src, 0, y);
00176     SrcStorT* ecenPtr = ArrayCPB(extra, 0, y);
00177     int srcIncX = ArrayInc(src, 1, 0);
00178     int srcIncY = ArrayInc(src, -ngbWidth, 1);
00179     int extraIncX = ArrayInc(extra, 1, 0);
00180     int extraIncY = ArrayInc(extra, -ngbWidth, 1);
00181     for (int x=0 ; x<width ; x++)
00182     {
00183         ngb.Init(x, y, PtrRead(cenPtr, SrcArithT()),
00184                  PtrRead(ecenPtr, ExtraArithT()));
00185         FuncNgbOp2dExtra_Pix_P1Loop(sPtr, ePtr, ngb, ngbWidth, ngbHeight,
00186                                     srcIncX, srcIncY, SrcArithT(),
00187                                     extraIncX, extraIncY, ExtraArithT());
00188         PtrWrite(dPtr, ngb.Result());
00189         dPtr += DstArrayT::ElemSize();
00190         sPtr += SrcArrayT::ElemSize();
00191         ePtr += ExtraArrayT::ElemSize();
00192         cenPtr += SrcArrayT::ElemSize();
00193         ecenPtr += ExtraArrayT::ElemSize();
00194     }
00195 }

Here is the call graph for this function:


Generated on Fri Mar 19 11:01:32 2010 for ImpalaSrc by  doxygen 1.5.1