﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
778	A bug for combination of CIIP and WP	chujoh		"There is a bug for combination of CIIP and WP.
When chroma coefficients or offsets of weighted prediction are existed, results between encoder and decoder are not identical.
The following changes should be introduced.


{{{
In /source/Lib/CommonLib/InterPrediction.cpp,
void InterPrediction::xPredInterBi(PredictionUnit &pu, PelUnitBuf &pcYuvPred, const bool luma, const bool chroma, PelUnitBuf *yuvPredTmp /*= NULL*/)

   if (dmvrApplied)
    {
      if (yuvPredTmp)
      {
        yuvPredTmp->addAvg(srcPred0, srcPred1, slice.clpRngs(), false);
      }
      xProcessDMVR(pu, pcYuvPred, slice.clpRngs(), bioApplied);
    }

->

   if (dmvrApplied)
    {
      if (yuvPredTmp)
      {
        if( pps.getWPBiPred() && slice.getSliceType() == B_SLICE &&
            wp0[COMPONENT_Cb].bPresentFlag || wp1[COMPONENT_Cb].bPresentFlag ||
            wp0[COMPONENT_Cr].bPresentFlag || wp1[COMPONENT_Cr].bPresentFlag) )
        {
          yuvPredTmp->addAvg(srcPred0, srcPred1, slice.clpRngs(), false, true);
          xWeightedPredictionBi( pu, srcPred0, srcPred1, pcYuvPred, m_maxCompIDToPred, false, true );
          yuvPredTmp->copyFrom(pcYuvPred, false, true);
        }
        else
        {
          yuvPredTmp->addAvg(srcPred0, srcPred1, slice.clpRngs(), false);
        }
      }
      xProcessDMVR(pu, pcYuvPred, slice.clpRngs(), bioApplied);
    }

}}}
"	defect	closed	minor	VTM-7.2	VTM	VTM-7.0	fixed		jvet@… ksuehring XiangLi fbossen takeshi.chujoh@…
