Opened 4 years ago

Closed 4 years ago

#799 closed defect (fixed)

uninitialized DC for predicted scaling list when scaling_list_pred_id_delta equal to 0

Reported by: fbarbier Owned by:
Priority: minor Milestone:
Component: VTM Version: VTM-7.1
Keywords: Cc: ksuehring, XiangLi, fbossen, jvet@…

Description

In function HLSyntaxReader::decodeScalingList:4626

In a context of predicted scaling list,
When scalingListId == PredListId, the correct scaling list address is used calling scalingList->getScalingListDefaultAddress(scalingListId),
however,
the default DC value is missing.
This leads to reading an uninitialized value line 4626 :

predCoef = (PredListId >= SCALING_LIST_1D_START_16x16) scalingList->getScalingListDC(PredListId) : srcPred[0];

A fix is provided here:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/merge_requests/1211

Change history (3)

comment:1 Changed 4 years ago by delagrangep

Good catch thanks.
The fix seems ok, though personnally I would rather add a condition in the predCoef line (similar to xCodeScalingList when setting deltasrc[64]) than call setScalingListDC(PredListId, SCALING_LIST_DC).

comment:2 Changed 4 years ago by fbarbier

Thanks. I prefer keeping the setScalingListDC(PredListId, SCALING_LIST_DC) for safety.

Indeed, if i locally use a condition similar to xCodeScalingList when setting deltasrc[64], i have no guarantee of preventing another read to uninitialized value (calling getScalingListDC).

Moreover, it better reflects the inference rule described in specification.

comment:3 Changed 4 years ago by fbarbier

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