#891 closed defect (fixed)

Incorrect temporal sublayer decoding

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

Description

The VTM decoder crashes, when decoding only TL=0 pictures, trying to re-create a missing reference picture.

Steps to reproduce:

1) Create a RA-GOP bistream with at least 33 pictures:

EncoderApp  -c ../cfg/encoder_randomaccess_vtm.cfg  -c ../cfg/per-sequence/RaceHorses.cfg -q 32 -f 33 --SEIDecodedPictureHash=1

2) Decode only layer sub-layer 0

DecoderApp -b str.bin -o dec.yuv --MaxTemporalLayer=0

3) The decoder crashes trying to re-create a picture with POC=8 (which has TL=1)

VVCSoftware: VTM Decoder Version 8.0rc1 [Mac OS X][clang 11.0.0][64 bit] [SIMD=AVX2] [ENABLE_TRACING] 

Tracing is enabled: DecTrace.txt : D_HEADER:final==1
POC    0 LId:  0 TId: 0 ( I-SLICE, QP 29 ) [DT  0.235] [L0] [L1] [MD5:6bb0209cfe465d93ebffd8b621ea31e5,92d430f1c3319c95d252834ad7790718,67972cf6ab1cf72988f4811e361db8c8,(OK)] 
POC   16 LId:  0 TId: 0 ( B-SLICE, QP 33 ) [DT  0.178] [L0 0] [L1 0c] [MD5:9f1617fa5db97aa1d4755225506bb58e,84d84250b2f80a14e26bb913404ac43d,9aaff168a37d6e64644efb2a14135784,(OK)] 

Current picture: 32 Short-term reference picture with POC =   8 seems to have been removed or not correctly decoded.Segmentation fault: 11

The crash happens when the decoder is trying to call xCreateLostPicture()

As far as I could debug, the check does not seem to care whether the picture in the reference picture is actually used as reference.

Change history (2)

comment:1 Changed 19 months ago by hendry197

The issue is because the function checkThatAllRefPicsAreAvailable checks all reference pictures in the RPS while actually what is needed is only make sure that active reference pictures are available.

MR !1411 provides fix for this issue.

comment:2 Changed 19 months ago by ksuehring

  • Milestone set to VTM-8.1
  • Resolution set to fixed
  • Status changed from new to closed

The MR was merged.

Note: See TracTickets for help on using tickets.