rd;
}
motionComp (
m_ppxlcPredMBY,
ppxlcRef,
MB_SIZE, // either MB or BLOCK size
x * 2 + pmv->trueMVHalfPel ().x,
y * 2 + pmv->trueMVHalfPel ().y,
m_vopmd.iRoundingControl,
prctMVLimit
);
CoordI xRefUV, yRefUV;
mvLookupUVWithShape (pmbmd, pmv, xRefUV, yRefUV);
motionCompUV (m_ppxlcPredMBU, m_ppxlcPredMBV, pvopcRef, x, y, xRefUV, yRefUV, 0, prctMVLimit);
addErrorAndPredToCurrQ (ppxlcCurrQMBY, ppxlcCurrQMBU, ppxlcCurrQMBV);
}
}
Void CVideoObjectDecoder::motionCompAlphaMB_BVOP(
const CMotionVector* pmvForward, const CMotionVector* pmvBackward,
CMBMode* pmbmd,
Int iMBX, Int iMBY,
CoordI x, CoordI y,
PixelC* ppxlcCurrQMBA,
CRct *prctMVLimitForward,CRct *prctMVLimitBackward)
{
Int iBlk;
if (pmbmd->m_mbType == DIRECT || pmbmd->m_mbType == INTERPOLATE) {
if (!pmbmd->m_bhas4MVForward && !pmbmd -> m_bFieldMV) //12.22.98
motionComp (
m_ppxlcPredMBA,
m_pvopcRefQ0->pixelsA (),
MB_SIZE, // either MB or BLOCK size
x * 2 + pmvForward->trueMVHalfPel ().x,
y * 2 + pmvForward->trueMVHalfPel ().y,
0,
prctMVLimitForward
);
// INTERLACE 12.22.98 with new change 02-19-99
else if ((pmbmd -> m_bFieldMV) && (pmbmd->m_mbType == INTERPOLATE)) {
const CMotionVector* pmvTop = pmvForward + 1 + pmbmd->m_bForwardTop;
motionCompYField(m_ppxlcPredM
上一篇:
mc.cpp
下一篇:
哈弗F7 VS名爵HS,谁更懂得年轻人的心?