Opened 6 years ago

Closed 6 years ago

#259 closed defect (fixed)

Encoder crash under particular condition in predInterSearch func

Reported by: YuchengSun Owned by:
Priority: minor Milestone: VTM-5.0
Component: VTM Version: VTM-5.0rc1
Keywords: Cc: ksuehring, XiangLi, fbossen, jvet@…

Description

In predInterSearch func line 2776-2783, REF_PIC_LIST_0 and REF_PIC_LIST_1 should be used instead of eRefPicList. Following code may lead to encoder crash when using the same reference list index "eRefPicList":

xCopyAMVPInfo(&aacAMVPInfo[0][iRefIdxBi[0]], &amvp[REF_PIC_LIST_0]);
xCheckBestMVP( REF_PIC_LIST_0, cMvBi[0], cMvPredBi[0][iRefIdxBi[0]], aaiMvpIdxBi[0][iRefIdxBi[0]], amvp[eRefPicList], uiBits[2], uiCostBi, pu.cu->imv);
if(!cs.slice->getMvdL1ZeroFlag())
{
   xCopyAMVPInfo(&aacAMVPInfo[1][iRefIdxBi[1]], &amvp[REF_PIC_LIST_1]);
   xCheckBestMVP( REF_PIC_LIST_1, cMvBi[1], cMvPredBi[1][iRefIdxBi[1]], aaiMvpIdxBi[1][iRefIdxBi[1]], amvp[eRefPicList], uiBits[2], uiCostBi, pu.cu->imv);
}

Change history (3)

comment:1 Changed 6 years ago by XiangLi

Thanks for the report. Could you provide detailed encoder settings so that we may duplicate the crash you mentioned? Could you also share the results of the fix?

comment:2 Changed 6 years ago by YuchengSun

Dear coordinators, in current platform this code will be invoked when meet the follwing coditions:
1、the value of beChanged(InterSearch.cpp line 2716) is false;
2、the value of enforcedGBiPred(InterSearch.cpp line 2674) is true;
3、MvdL1Zero algorithm is enabled;
Because the MvdL1Zero algorithm can't be disabled by cfg in current platform, we can't provide the cfg that lead to the crash without changing the source code. However, I think it's a consensus that the AMVP list for List0 can't be used to check the best MVP for list 1, it maybe better to fix it even this problems won't happen in current CTC.

Version 0, edited 6 years ago by YuchengSun (next)

comment:3 Changed 6 years ago by XiangLi

  • Milestone set to VTM-5.0
  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.