Opened 4 years ago

Closed 4 years ago

#978 closed defect (fixed)

Encoder crashes with HRD for the last GOP of the sequence and decoder crashes with HRD

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


When HRD timing information is used and the last GOP of the sequence is not a full GOP, VTM encoder crashes with the following error:
ERROR: In function "xCreatePictureTimingSEI" in /data/VTM_dev/CreateMergeRequests/source/Lib/EncoderLib/EncGOP.cpp:962: m_cpbRemovalDelayDeltaIdx not applicable for the sub-layer and GOP size

The following command line shows the error:
./EncoderAppStatic -c ../cfg/encoder_randomaccess_vtm.cfg -c ../cfg/sei_vui/timing.cfg -c ../cfg/per-sequence/BlowingBubbles.cfg -f 12 --SEIDecodedPictureHash=1

This is because the CPB removal delay delta idx do not follow the same pattern as for full GOP in such a case. It is therefore suggested to solve this issue by not using the CPB removal delay delta idx for the last GOP of the picture in EncGOP::xCreatePictureTimingSEI, but signal the CPB removal delays directly instead.

A second issue is that bitstreams encoded with buffering period and picture timing SEI messages make the decoder crash in the function DecLib::checkSEIInAccessUnit. This function checks information from the VPS, but does not check that a VPS is available in the bistream. It is suggested to add a check that m_vps is not equal to nullptr before accessing the information in m_vps.

Change history (2)

comment:1 Changed 4 years ago by vdrugeon

The following merge request was submitted to solve the described bugs:

comment:2 Changed 4 years 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.