only BaseLayer inter MB and SpatialLayer (uiQualityId = 0) inter MB calling this pFunc. only for I SSlice
| 467 | //only BaseLayer inter MB and SpatialLayer (uiQualityId = 0) inter MB calling this pFunc. |
| 468 | //only for I SSlice |
| 469 | void 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. |
no test coverage detected