diff --git a/source/Lib/CommonLib/InterPrediction.cpp b/source/Lib/CommonLib/InterPrediction.cpp index e785c83a72d1ece2fa32fb945cef25c07198d501..09cd39ea4d49a444b11d8f7f1fe27ea2a07e51f4 100644 --- a/source/Lib/CommonLib/InterPrediction.cpp +++ b/source/Lib/CommonLib/InterPrediction.cpp @@ -1197,13 +1197,21 @@ void InterPrediction::xWeightedAverage(const PredictionUnit& pu, const CPelUnitB if( iRefIdx0 >= 0 && iRefIdx1 >= 0 ) { +#if JVET_O0681_DIS_BPWA_CIIP + if( pu.cu->GBiIdx != GBI_DEFAULT && (yuvDstTmp || !pu.mhIntraFlag) ) +#else if( pu.cu->GBiIdx != GBI_DEFAULT ) +#endif { CHECK(bioApplied, "GBi is disallowed with BIO"); pcYuvDst.addWeightedAvg(pcYuvSrc0, pcYuvSrc1, clpRngs, pu.cu->GBiIdx); #if JVET_O0108_DIS_DMVR_BDOF_CIIP if (yuvDstTmp) +#if JVET_O0681_DIS_BPWA_CIIP + yuvDstTmp->addAvg(pcYuvSrc0, pcYuvSrc1, clpRngs, false); +#else yuvDstTmp->copyFrom(pcYuvDst); +#endif #endif return; } diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index e5153acdc631376e434e8c8d06cdf0709559f554..9e02da853f08c6db42ef12b7af2c3789bca37310 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -178,6 +178,7 @@ #define JVET_O0596_CBF_SIG_ALIGN_TO_SPEC 1 // JVET-O0596 align cbf signaling with specification #define JVET_O0193_REMOVE_TR_DEPTH_IN_CBF_CTX 1 // JVET-O0193/JVET-O0375: remove transform depth in cbf context modeling +#define JVET_O0681_DIS_BPWA_CIIP 1 // JVET-O0681 disable BCW for CIIP, method 2 inherit BCW index #define JVET_O0594_BDOF_REF_SAMPLE_PADDING 1 // JVET-O0594/O0252/O0506/O0615/O0624: BDOF reference sample padding using the nearest integer sample position