diff --git a/av1/common/reconinter.c b/av1/common/reconinter.c index b709793653db3073830310f33e50bf3f67e47707..0a033f1a3abfe5cfbc5137db07996e94e881a7dd 100644 --- a/av1/common/reconinter.c +++ b/av1/common/reconinter.c @@ -905,10 +905,12 @@ void av1_jnt_comp_weight_assign(const AV1_COMMON *cm, const MB_MODE_INFO *mbmi, } int i; - for (i = 0; i < 4; ++i) { + for (i = 0; i < 3; ++i) { int c0 = quant_dist_weight[i][order]; int c1 = quant_dist_weight[i][!order]; - if (d0 * c0 < d1 * c1) break; + int d0_c0 = d0 * c0; + int d1_c1 = d1 * c1; + if ((d0 > d1 && d0_c0 < d1_c1) || (d0 <= d1 && d0_c0 > d1_c1)) break; } *fwd_offset = quant_dist_lookup_table[order_idx][i][order];