MCPcopy Create free account
hub / github.com/cisco/openh264 / WelsIMbChromaEncode

Function WelsIMbChromaEncode

codec/encoder/core/src/svc_encode_slice.cpp:469–488  ·  view source on GitHub ↗

only BaseLayer inter MB and SpatialLayer (uiQualityId = 0) inter MB calling this pFunc. only for I SSlice

Source from the content-addressed store, hash-verified

467//only BaseLayer inter MB and SpatialLayer (uiQualityId = 0) inter MB calling this pFunc.
468//only for I SSlice
469void WelsIMbChromaEncode (sWelsEncCtx* pEncCtx, SMB* pCurMb, SMbCache* pMbCache) {
470 SWelsFuncPtrList* pFunc = pEncCtx->pFuncList;
471 SDqLayer* pCurLayer = pEncCtx->pCurDqLayer;
472 const int32_t kiEncStride = pCurLayer->iEncStride[1];
473 const int32_t kiCsStride = pCurLayer->iCsStride[1];
474 int16_t* pCurRS = pMbCache->pCoeffLevel;
475 uint8_t* pBestPred = pMbCache->pBestPredIntraChroma;
476 uint8_t* pCsCb = pMbCache->SPicData.pCsMb[1];
477 uint8_t* pCsCr = pMbCache->SPicData.pCsMb[2];
478
479 //cb
480 pFunc->pfDctFourT4 (pCurRS, pMbCache->SPicData.pEncMb[1], kiEncStride, pBestPred, 8);
481 WelsEncRecUV (pFunc, pCurMb, pMbCache, pCurRS, 1);
482 pFunc->pfIDctFourT4 (pCsCb, kiCsStride, pBestPred, 8, pCurRS);
483
484 //cr
485 pFunc->pfDctFourT4 (pCurRS + 64, pMbCache->SPicData.pEncMb[2], kiEncStride, pBestPred + 64, 8);
486 WelsEncRecUV (pFunc, pCurMb, pMbCache, pCurRS + 64, 2);
487 pFunc->pfIDctFourT4 (pCsCr, kiCsStride, pBestPred + 64, 8, pCurRS + 64);
488}
489
490
491//only BaseLayer inter MB and SpatialLayer (uiQualityId = 0) inter MB calling this pFunc.

Callers 2

WelsMdFirstIntraModeFunction · 0.85

Calls 1

WelsEncRecUVFunction · 0.85

Tested by

no test coverage detected