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@… |
Description
In 8.5.6.6.3 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)
(983)
pbSamples[x][y] = Clip3(0, (1<<bitDepth)−1, ((predSamplesL1[x][y]*w1 + 2(log2Wd−1)) >> log2Wd) + o1)
(984)
Change history (4)
comment:1 Changed 4 years ago by jlchen
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
The suggestion seems correct to me. Could other experts confirm whether the modifications matche to the software implementation?