pIntra4x4PredModeBlocks;// (*pIntra4x4PredModeBlocks)[INTRA_4x4_MODE_NUM]; //last byte is not used; the first 4 byte is for the bottom 12,13,14,15 4x4 block intra mode, and 3 byte for (3,7,11)
SMB**ppMbListD;// [MAX_DEPENDENCY_LAYER];
SStrideTables*pStrideTab;// stride tables for internal coding used
SWelsFuncPtrList*pFuncList;
SSliceThreading*pSliceThreading;
// SSlice context
SSliceCtx*pSliceCtxList;// slice context table for each dependency quality layer
// pointers
SPicture*pEncPic;// pointer to current picture to be encoded
SPicture*pDecPic;// pointer to current picture being reconstructed
SPicture*pRefPic;// pointer to current reference picture
SDqLayer*
pCurDqLayer;// DQ layer context used to being encoded currently, for reference base layer to refer: pCurDqLayer->pRefLayer if applicable
SDqLayer**ppDqLayerList;// overall DQ layers encoded for storage
SRefList**ppRefPicListExt;// reference picture list for SVC
SPicture*pRefList0[16];
SLTRState*pLtr;//[MAX_DEPENDENCY_LAYER];
boolbCurFrameMarkedAsSceneLtr;
// Derived
int32_tiCodingIndex;
int32_tiFrameIndex;// count how many frames elapsed during coding context currently
int32_tiFrameNum;// current frame number coding
int32_tiPOC;// frame iPOC
EWelsSliceTypeeSliceType;// currently coding slice type
EWelsNalUnitTypeeNalType;// NAL type
EWelsNalRefIdceNalPriority;// NAL_Reference_Idc currently
EWelsNalRefIdceLastNalPriority;// NAL_Reference_Idc in last frame
uint8_tiNumRef0;
uint8_tuiDependencyId;// Idc of dependecy layer to be coded
uint8_tuiTemporalId;// Idc of temporal layer to be coded
boolbNeedPrefixNalFlag;// whether add prefix nal
boolbEncCurFrmAsIdrFlag;
// Rate control routine
SWelsSvcRc*pWelsSvcRc;
int32_tiSkipFrameFlag;//_GOM_RC_
int32_tiGlobalQp;// global qp
// VAA
SVAAFrameInfo*pVaa;// VAA information of reference
CWelsPreProcess*pVpp;
SWelsSPS*pSpsArray;// MAX_SPS_COUNT by standard compatible
SWelsSPS*pSps;
SWelsPPS*pPPSArray;// MAX_PPS_COUNT by standard compatible
SWelsPPS*pPps;
/* SVC only */
SSubsetSps*pSubsetArray;// MAX_SPS_COUNT by standard compatible
SSubsetSps*pSubsetSps;
int32_tiSpsNum;// number of pSps used
int32_tiPpsNum;// number of pPps used
// Output
SWelsEncoderOutput*pOut;// for NAL raw pData (need allocating memory for sNalList internal)
uint8_t*pFrameBs;// restoring bitstream pBuffer of all NALs in a frame
int32_tiFrameBsSize;// count size of frame bs in bytes allocated
int32_tiPosBsBuffer;// current writing position of frame bs pBuffer