| 646 | } |
| 647 | |
| 648 | static void UpdateBlockStatic (sWelsEncCtx* pCtx) { |
| 649 | SVAAFrameInfoExt* pVaaExt = static_cast<SVAAFrameInfoExt*> (pCtx->pVaa); |
| 650 | assert (pCtx->iNumRef0 == 1); //multi-ref is not support yet? |
| 651 | for (int32_t idx = 0; idx < pCtx->iNumRef0; idx++) { |
| 652 | //TODO: we need to re-factor the source picture storage first, |
| 653 | //and then use original frame of the ref to do this calculation for better vaa algo implementation |
| 654 | SPicture* pRef = pCtx->pRefList0[idx]; |
| 655 | if (pVaaExt->iVaaBestRefFrameNum != pRef->iFrameNum) { |
| 656 | //re-do the calculation |
| 657 | pCtx->pVpp->UpdateBlockIdcForScreen (pVaaExt->pVaaBestBlockStaticIdc, pRef, pCtx->pEncPic); |
| 658 | } |
| 659 | } |
| 660 | } |
| 661 | |
| 662 | void WelsUpdateSliceHeaderSyntax (sWelsEncCtx* pCtx, const int32_t iAbsDiffPicNumMinus1, |
| 663 | SSlice** ppSliceList, const int32_t uiFrameType) { |
no test coverage detected