Opened 4 years ago

Closed 4 years ago

#779 closed defect (fixed)

A bug for combination of IBC and WP

Reported by: chujoh Owned by:
Priority: minor Milestone: VTM-7.2
Component: VTM Version: VTM-7.0
Keywords: Cc: jvet@…, ksuehring, XiangLi, fbossen

Description

There is a bug for combination of IBC and WP.
When IBC and WeihgtedPredB or WeihgtedPredP are set to 1, the results between encoder and decoder are not identical.
The following changes should be introduced.

In /source/Lib/CommonLib/InterPrediction.cpp,
void InterPrediction::motionCompensation( PredictionUnit &pu, PelUnitBuf &predBuf, const RefPicList &eRefPicList
  , const bool luma, const bool chroma
  , PelUnitBuf* predBufWOBIO /*= NULL*/
)

  if( eRefPicList != REF_PIC_LIST_X )
  {
    CHECK(predBufWOBIO != NULL, "the case should not happen!");
    if( ( ( sliceType == P_SLICE && pps.getUseWP() ) || ( sliceType == B_SLICE && pps.getWPBiPred() ) ) )

->

    if( ((CU::isIBC(*pu.cu)==false) && ( ( sliceType == P_SLICE && pps.getUseWP() ) || ( sliceType == B_SLICE && pps.getWPBiPred() ) ) )


Change history (2)

comment:1 Changed 4 years ago by XiangLi

Thanks for the report. Please check whether MR 1191 https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/merge_requests/1191 is correct.

comment:2 Changed 4 years ago by ksuehring

  • Resolution set to fixed
  • Status changed from new to closed

I merged the MR. The code matched the suggested fix here and looked correct. If there is a problem with it, please reopen the ticket.

Note: See TracTickets for help on using tickets.