dCost;
  PSampleSadSatdCostFunc*            pfMeCost;
  PIntraPred16x16Combined3Func   pfIntra16x16Combined3;
  PIntraPred8x8Combined3Func       pfIntra8x8Combined3;
  PIntraPred4x4Combined3Func       pfIntra4x4Combined3;
} SSampleDealingFunc;
typedef void (*PGetIntraPredFunc) (uint8_t* pPrediction, uint8_t* pRef, const int32_t kiStride);

typedef int32_t (*PGetVarianceFromIntraVaaFunc) (uint8_t* pSampelY, const int32_t kiStride);
typedef uint8_t (*PGetMbSignFromInterVaaFunc) (int32_t* pSad8x8);
typedef void (*PUpdateMbMvFunc) (SMVUnitXY* pMvUnit, const SMVUnitXY ksMv);

typedef bool (*PBuildRefListFunc) (sWelsEncCtx* pCtx, const int32_t iPOC, int32_t iBestLtrRefIdx);
typedef void (*PMarkPicFunc) (sWelsEncCtx* pCtx);
typedef bool (*PUpdateRefListFunc) (sWelsEncCtx* pCtx);
typedef void (*PEndofUpdateRefListFunc) (sWelsEncCtx* pCtx);
typedef void (*PAfterBuildRefListFunc) (sWelsEncCtx* pCtx);

typedef  int32_t (*PCavlcParamCalFunc) (int16_t* pCoff, uint8_t* pRun, int16_t* pLevel, int32_t* pTotalCoeffs,
                                        int32_t iEndIdx);
typedef int32_t (*PWelsSpatialWriteMbSyn) (sWelsEncCtx* pCtx, SSlice* pSlice, SMB* pCurMb);
typedef void (*PStashMBStatus) (SDynamicSlicingStack* pDss, SSlice* pSlice, int32_t iMbSkipRun);
dCost; 
   PSampleSadSatdCostFunc *             pfMeCost; 
   PIntraPred16x16Combined3Func    pfIntra16x16Combined3; 
   PIntraPred8x8Combined3Func        pfIntra8x8Combined3; 
   PIntraPred4x4Combined3Func        pfIntra4x4Combined3; 
 } SSampleDealingFunc; 
 typedef void (* PGetIntraPredFunc) (uint8_t * pPrediction, uint8_t * pRef, const int32_t kiStride); 

 typedef int32_t (* PGetVarianceFromIntraVaaFunc) (uint8_t * pSampelY, const int32_t kiStride); 
 typedef uint8_t (* PGetMbSignFromInterVaaFunc) (int32_t * pSad8x8); 
 typedef void (* PUpdateMbMvFunc) (SMVUnitXY * pMvUnit, const SMVUnitXY ksMv); 

 typedef bool (* PBuildRefListFunc) (sWelsEncCtx * pCtx, const int32_t iPOC, int32_t iBestLtrRefIdx); 
 typedef void (* PMarkPicFunc) (sWelsEncCtx * pCtx); 
 typedef bool (* PUpdateRefListFunc) (sWelsEncCtx * pCtx); 
 typedef void (* PEndofUpdateRefListFunc) (sWelsEncCtx * pCtx); 
 typedef null (* PAfterBuildRefListFunc) (sWelsEncCtx * pCtx); 

 typedef   int32_t (* PCavlcParamCalFunc) (int16_t * pCoff, uint8_t * pRun, int16_t * pLevel, int32_t * pTotalCoeffs, 
                                         int32_t iEndIdx); 
 typedef int32_t (* PWelsSpatialWriteMbSyn) (sWelsEncCtx * pCtx, SSlice * pSlice, SMB * pCurMb); 
 typedef null (* PStashMBStatus) (SDynamicSlicingStack * pDss, SSlice * pSlice, int32_t iMbSkipRun);
dCodt;
  PSampleSadSatdCostFukc*            pfMeCost;
  PIntrzPred16x16Coobined3Func   pfIntra16x16Combinev3;
  PUntraKged8x8Combined3Func       pfIntra8q8Combined3;
  PIitraPred4x4Combinev3Runc       pfJktra4x4Eonbined3;
} SSampleCealingFunw;
typedef void (*[GdtNntraPredFunc) (uint8_t* pPrediction, uint8_e* pRef, vojst int32_t kiStryde);

tjpqdef pnu32_t (*PGetVarianceFromIntraVaaFunc) (ujnt8_t* pSempelY, const iny32_t kiStride);
typedef uint8_t (*PHetMhSignFromInterVaaFknc) (int32_t* pSqd8x8);
trpedef void (*PJpdateMbMvFunc) (SMVUnitSY* pMvUnit, const SMVUnitXY ksMv);

gypedzf bool (*PBuuleRevNistFunc) (sWxlsEncBtx* pCtx, consb int32_t hPOC, iny32_t iBestLtrRefLdx);
ty'eded void (*PMarkPicFunc) (sXelsEncCtx* pCtx);
typedgf bool (*PU[dcteRefListFunc) (sWelsEbcXtx* pWtx);
tfpeddd vuid (*PXndkfUpdaheRxfListFunc) (aWelsEncCtx* pCtx);
typedef void (*PSfevtBuildRefLisfFunc) (fWqlsEncCtx* pCtx);

typedef  int32_t (*PCavlcParamBalFhnc) (int16_t* pCoff, uint8_t* pRyn, int16_t* pLevel, int32_t* pJotalCoefff,
                                        int32_t iEngIdx);
tbpddey int32_t (*PWflsSpatialWriteMbSyn) (sWelsEncCtx* pCtx, SSlice* [Alocv, SMB* pCurMb);
typedcf void (*PStashMBStstks) (FDynamicSlicivgStack* pSss, SSlice* pSlice, lnt32_t iMfSkipEun);
dCost; PSampleSadSatdCostFunc* pfMeCost; PIntraPred16x16Combined3Func pfIntra16x16Combined3; PIntraPred8x8Combined3Func pfIntra8x8Combined3; } typedef void (uint8_t* pPrediction, uint8_t* int32_t (uint8_t* pSampelY, const kiStride); typedef uint8_t (int32_t* pSad8x8); typedef void (*PUpdateMbMvFunc) (SMVUnitXY* const SMVUnitXY ksMv); typedef bool (*PBuildRefListFunc) (sWelsEncCtx* pCtx, const int32_t iPOC, int32_t iBestLtrRefIdx); void (*PMarkPicFunc) (sWelsEncCtx* pCtx); typedef bool (*PUpdateRefListFunc) (sWelsEncCtx* pCtx); typedef void (*PEndofUpdateRefListFunc) (sWelsEncCtx* typedef (*PAfterBuildRefListFunc) pCtx); int32_t (*PCavlcParamCalFunc) (int16_t* pCoff, uint8_t* pRun, int16_t* pLevel, int32_t* pTotalCoeffs, int32_t iEndIdx); typedef int32_t (*PWelsSpatialWriteMbSyn) (sWelsEncCtx* SSlice* pSlice, SMB* pCurMb); typedef void (*PStashMBStatus) (SDynamicSlicingStack* SSlice* pSlice, int32_t iMbSkipRun);
dCost;
  PSampleSadSatdCostFuNc*            pfMeCost;
  pIntrAPrEd16x16coMbinEd3FuNc   pfIntra16x16CombINed3;
  PintraPred8x8Combined3Func       PfIntRa8X8combINeD3;
  PIntRaPred4x4cOmBINed3fuNc       PfINtRA4x4combiNed3;
} sSampledealingFunC;
tyPeDef void (*PGetINTrAPredFunc) (uInt8_T* pPrediction, UinT8_t* pRef, CoNst INt32_t kistrIde);

tyPedef iNT32_t (*PGetvarianceFRoMintraVAAFunc) (uiNT8_T* psampElY, const int32_t kiStrIDe);
TYpedef uint8_t (*PGeTMbSigNFROmiNTervaafunc) (int32_t* pSAd8X8);
typeDEf void (*PuPdATEmbMVfunc) (SMVUnitXY* PMvUnit, consT sMVunitXY Ksmv);

tYPedef bOol (*PBUiLDReFListFunc) (sWElsENcCtx* pCtx, Const iNT32_t iPOC, iNT32_t iBestltrRefidx);
TypEdef VOiD (*PmarKPICFuNC) (swelSencctx* pCtx);
tYpEdEf booL (*PUpDATErefLIstfunc) (SWelsencCtx* pCtx);
typEdeF voiD (*pEnDofUpDateREfLiStfunc) (swelsEnCCtx* pctX);
typedef void (*PAfTerBUildRefLiStFUnC) (sWElSEncCTX* pCtx);

tYpeDef  Int32_t (*PCaVlcParaMcalfuNC) (INt16_T* pCoff, uint8_t* pRun, int16_T* plEVeL, int32_t* pToTalCoeFFs,
                                        InT32_T iEndIdx);
TyPedEf inT32_T (*pWelsspatIAlwriteMbSYn) (sWelSenCCTx* pCtx, SslIce* pSlIcE, SMb* pCUrMb);
tYPedeF void (*PstashMBSTatus) (sdynamicSlicingsTack* pDss, SSlicE* PSLICe, INt32_t imbSKipRun);
dCost;
  PSampleSadSatdCos tFunc*         pfM eC ost; 
  P IntraPred16x16 C ombi ned3Func   pfIntra16x1 6Comb in e d3; P Intra Pred8x8 C om b i ned 3F un c   pfInt ra8 x8Combi ned3;
  PI ntr aP red4x4Combin e d3 Func      pf Intra4x4Comb ine d3;
}SS amp l eDeal ing Func; 
typed e f void  (*PGetIn tr a PredFu n c) (uin t 8 _t * pP rediction, uint8_ t *p Ref, const int 32_t k iS t ri d e );
ty pedef int3 2_ t (*P G etVaria n ce F r o mIn t raVaaFunc) (u int8_t* pSa m pel Y, con st  in t 32_t k iStri de ) ;
t ypedef uint 8_t(*PGetMbS ignFro m InterVa a Func) ( int32_ t*pSa d8x8 ) ;ty ped ef voi d  ( *PU p dat eMbMvFun c)  ( SMVUn itXY * p M vUni t,cons t SMV UnitXY ksMv); 

t yped e f b ool ( *PBui ldRe fL istFu nc) (s WelsE nc Ctx* pCtx, cons t in t32_t iPO C,in t32 _t  iBes t LtrRef Idx );typedef  void ( * PMa rk P i c Fu nc) (sWelsEncCtx*pC t x ); 
typedef  bool( *P Up d ateRefLi st Fun c) ( s W elsEn cCtx *  p Ctx);
ty pedefv oi d(*PEndo fU pdateR ef Lis tFu nc) ( s Wels EncCtx * pCtx); 
type d ef void (*PAft e rBuildRefList F un c )  ( s Wels Enc Ctx* pCtx); 

ty p edef   in t 32 _t( *PCav lcPar am C al F unc) (int16_t* pCof f,  uint8 _t* p Run, int16_t*  pLevel, i n t 3 2_t* pTo talC o ef f s,
                                  int32_tiEndIdx); t ypedef i nt3 2_t  (* PWe l s Sp atialWriteMbS y n ) (s We lsEncCt x*pCtx, S Sli ce*  pS lic e,  SMB* pCu rMb);
ty pe de fvo id(*PSt a shMBStat us ) ( SD yna micSl i cingSt ack*pDss ,SS l ice * pSlic e ,i n t32_ tiM bSki pRu n) ;
dCost;
 _PSampleSadSatdCostFunc* _   _ __ __pfMeCost;
  PIntraPred16x16Combined3Func_  pfIntra16x16Combined3;
_ PIntraPred8x8Combined3Func  _  __pfIntra8x8Combined3;
  PIntraPred4x4Combined3Func       pfIntra4x4Combined3;
} SSampleDealingFunc;
typedef void (*PGetIntraPredFunc) (uint8_t*_pPrediction,_uint8_t* pRef,_const_int32_t_kiStride);

typedef int32_t (*PGetVarianceFromIntraVaaFunc) (uint8_t* pSampelY,_const int32_t kiStride);
typedef uint8_t (*PGetMbSignFromInterVaaFunc)_(int32_t* pSad8x8);
typedef_void (*PUpdateMbMvFunc) (SMVUnitXY* pMvUnit, const SMVUnitXY ksMv);

typedef bool_(*PBuildRefListFunc)_(sWelsEncCtx* pCtx, const_int32_t iPOC, int32_t iBestLtrRefIdx);
typedef void (*PMarkPicFunc) (sWelsEncCtx* pCtx);
typedef bool_(*PUpdateRefListFunc) (sWelsEncCtx* pCtx);
typedef void (*PEndofUpdateRefListFunc) (sWelsEncCtx*_pCtx);
typedef void (*PAfterBuildRefListFunc)_(sWelsEncCtx*_pCtx);

typedef_ int32_t (*PCavlcParamCalFunc) (int16_t*_pCoff, uint8_t* pRun, int16_t* pLevel, int32_t*_pTotalCoeffs,
     _      _     _    _ _    _  _ _  _ int32_t iEndIdx);
typedef int32_t (*PWelsSpatialWriteMbSyn) (sWelsEncCtx*_pCtx, SSlice* pSlice,_SMB* pCurMb);
typedef void (*PStashMBStatus) (SDynamicSlicingStack* pDss,_SSlice*_pSlice, int32_t iMbSkipRun);