Opened 5 years ago
Closed 3 years ago
#681 closed defect (fixed)
Incorrect scaling list dc coeff derivation in case scalingListId == PredListId
Reported by: | wzeng | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | VTM | Version: | VTM-7.0rc1 |
Keywords: | Cc: | ksuehring, XiangLi, fbossen, jvet@… |
Description
In function HLSyntaxReader::decodeScalingList, DC pred coeff is derived as follows.
if (isPredictor)
{
predCoef = (PredListId >= SCALING_LIST_1D_START_16x16) ? scalingList->getScalingListDC(PredListId) : srcPred[0];
}
Here, scalingList->getScalingListDC(PredListId) is initialized to be 0, not 16.
When scalingListId==PredListId, according to spec text VVC D7 vB, DC pred coeff should be set to 16.
Otherwise, when scaling_list_pred_id_delta[ id ] is equal to 0, all elements of ScalingMatrixPred are set equal to 16, and ScalingMatrixDCPred is set equal to 16.
An easy fix is to change that piece of code to the following as srcPred has considered (scalingListId==PredListId) case.
if (isPredictor)
{
predCoef = srcPred[0];
}
Change history (1)
comment:1 Changed 3 years ago by fbossen
- Resolution set to fixed
- Status changed from new to closed