Opened 4 weeks ago

#681 new defect

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 (0)

Note: See TracTickets for help on using tickets.