在看HTM 11.0中
TComMv cMv = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr );
uiPartAddr为PU在CU中的地址,但是MV是根据4*4块的Z-Scan在LCU中存储的,觉得这一部分很奇怪。
原因:m_ppcCU[uiDepth]->copySubCU( pcCU, uiAbsPartIdx, uiDepth );该语句将m_ppcCU[uiDepth]的初始地址,指向pcCU从当前CU在LCU中的索引uiAbsPartIdx处。
//在HTM 11.0中通过getMv()得到的MV是1/4精度的,如以下:
Void TComPrediction::xPredInterUni()
{
TComMv cMv = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr );//每个4*4块的MV的存储:当前CU按Z-Scan存储的。。。uiPartAddr指的是在当前CU(非LCU)中的Z-Scan索引
pcCU->clipMv(cMv);
...
xPredInterLu