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

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

Row : phase 1, cnum.

Definition at line 144 of file FuncNgbOp2dExtra2.h.

References ArrayCPB(), ArrayCW(), FuncNgbOp2dExtra2_Pix_P1Cnum(), PtrRead(), and PtrWrite().

Referenced by FuncNgbOp2dExtra2Dispatch().

00147 {
00148     typedef typename DstArrayT::StorType DstStorT;
00149     typedef typename DstArrayT::ArithType DstArithT;
00150     typedef typename SrcArrayT::StorType SrcStorT;
00151     typedef typename SrcArrayT::ArithType SrcArithT;
00152     typedef typename ExtraArrayT::StorType ExtraStorT;
00153     typedef typename ExtraArrayT::ArithType ExtraArithT;
00154     typedef typename Extra2ArrayT::StorType Extra2StorT;
00155     typedef typename Extra2ArrayT::ArithType Extra2ArithT;
00156 
00157     int width = ArrayCW(dst);
00158     DstStorT* dPtr = ArrayCPB(dst, 0, y);
00159     SrcStorT* sPtr = ArrayCPB(src, 0, y);
00160     SrcStorT* ePtr = ArrayCPB(extra, 0, y);
00161     SrcStorT* e2Ptr = ArrayCPB(extra2, 0, y);
00162     for (int x=0 ; x<width ; x++)
00163     {
00164         ngb.Init(x, y, PtrRead(sPtr, SrcArithT()),
00165                  PtrRead(ePtr, ExtraArithT()),
00166                  PtrRead(e2Ptr, Extra2ArithT()));
00167         FuncNgbOp2dExtra2_Pix_P1Cnum(src, extra, extra2, x, y, ngb);
00168         PtrWrite(dPtr, ngb.Result());
00169         dPtr += DstArrayT::ElemSize();
00170         sPtr += SrcArrayT::ElemSize();
00171         ePtr += ExtraArrayT::ElemSize();
00172         e2Ptr += Extra2ArrayT::ElemSize();
00173     }
00174 }

Here is the call graph for this function:


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