id summary reporter owner description type status priority milestone component version resolution keywords cc 117 AMVP bug in rectangular (2NxN and Nx2N) partition mode wjhan "Messages from Minhua: In the TMuC TComDataCU.cpp, fillMvpCand() ----- the mvp list is reordered if the partition is 2NxN or Nx2N. Line 3915- else if ( ( ((eCUMode == SIZE_2NxN) || (eCUMode == SIZE_2NxnU) || (eCUMode == SIZE_2NxnD)) && uiPartIdx == 0 '''&& m_pcSlice->isEqualRef(eRefPicList, m_cMvFieldB.getRefIdx(), iRefIdx)''' ) && iAboveMvIdx > 0 ) { cTempMv = pInfo->m_acMvCand[0]; pInfo->m_acMvCand[0] = pInfo->m_acMvCand[iAboveMvIdx]; pInfo->m_acMvCand[iAboveMvIdx] = cTempMv; } else if ( ( ((eCUMode == SIZE_Nx2N) || (eCUMode == SIZE_nLx2N) || (eCUMode == SIZE_nRx2N)) && uiPartIdx == 1 '''&& m_pcSlice->isEqualRef(eRefPicList, m_cMvFieldC.getRefIdx(), iRefIdx)''') && iCornerMvIdx > 0 ) { cTempMv = pInfo->m_acMvCand[0]; pInfo->m_acMvCand[0] = pInfo->m_acMvCand[iCornerMvIdx]; pInfo->m_acMvCand[iCornerMvIdx] = cTempMv; } The condition (I marked bold) seems incorrect. m_cMvFieldB and m_cMvFieldC aren't initialized in the decoding process, so these conditions are never fulfilled. And my suggestion: The goal of these 'boldface' checks is to check the equality of two reference indices, but as Minhua indicated, they does not work due to the non-initialization. Furthermore, the next conditions iAboveMvIdx > 0 and iCornerMvIdx > 0 already do the same thing. Thus instead of initializing them correctly, simply removal of the bold parts is sufficient to get the original motivation to use the AVC-style motion predictor as the 1st place in AMVP queue for rectangular partition modes. " defect closed minor HM fixed fbossen ksuehring davidf jct-vc@…