Incorrect shift value in the calculation of TM BCW cost
There is an incorrect shift value in the calculation of TM BCW cost in the ECM3.1 code (InterPrediction.cpp) as follows:
int8_t intWeight = getBcwWeight(cu.BcwIdx, eRefList);
return (tplCtrl.getMinCost() * intWeight + (g_BcwWeightBase >> 1)) >> g_BcwWeightBase;
It should be fixed by replacing g_BcwLog2WeightBase as follows.
int8_t intWeight = getBcwWeight(cu.BcwIdx, eRefList);
return (tplCtrl.getMinCost() * intWeight + (g_BcwWeightBase >> 1)) >> g_BcwLog2WeightBase;