Opened 4 years ago

Closed 4 years ago

#1215 closed defect (fixed)

Unnecessary condition for equation (983) and (984) in S2001-vD

Reported by: swlim Owned by:
Priority: minor Milestone:
Component: spec Version:
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…


In explicit weighted sample prediction process,
the value of the variable log2Wd is never smaller than 2 since the value of the syntax elements luma_log2_weight_denom and ChromaLog2WeightDenom shall be in the range of 0 to 7 and the minimum value of the variable shift1 is 2.

Therefore, it is suggested that (983) and (984) should be changed to :

pbSamples[x][y] = Clip3(0, (1<<bitDepth)−1, ((predSamplesL0[x][y]*w0 + 2(log2Wd−1)) >> log2Wd) + o0)

pbSamples[x][y] = Clip3(0, (1<<bitDepth)−1, ((predSamplesL1[x][y]*w1 + 2(log2Wd−1)) >> log2Wd) + o1)

Change history (4)

comment:1 Changed 4 years ago by jlchen

The suggestion seems correct to me. Could other experts confirm whether the modifications matche to the software implementation?

comment:2 Changed 4 years ago by fbossen

The software also checks for log2Wd being larger than or equal to 1 (see shift > 0 condition below), but it seems unnecessary.

const int shiftNum = std::max<int>(2, (IF_INTERNAL_PREC - clipBD));
const int shift = wp0[compID].shift + shiftNum;
const int round = (shift > 0) ? (1 << (shift - 1)) : 0;

comment:3 Changed 4 years ago by jlchen

I will include the modifications in the JVET-S2001-vE release, while keep the ticket for a few day for more expert to confirm.

SWLim, Can you also file a software ticket for this issue?

comment:4 Changed 4 years ago by jlchen

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.