Opened 5 months ago

Last modified 5 months ago

#1595 new defect

decoding error when generating multilayer bitstream

Reported by: xiaozhongxu Owned by:
Priority: major Milestone:
Component: Conformance Version: VTM-19.0
Keywords: Cc: ksuehring, fbossen, jvet@…


VTM decoder cannot correctly decode multilayer bitstream that is generated by unmodified VTM encoder (with config. changes).

Related conformance bitstreams:
OLS_A_Tencent_5 (bitstream as well as cfg files attached)
OLS_B_Tencent_5 (encoder exit without a message, cfg files attached)
OLS_C_Tencent_5 (encoder exit without a message, cfg files attached)

This bug report may be related to #1581.
VTM version: VTM-20.0
Commandline for OLS_A_Tencent_5:
EncoderApp.exe -c encoder_lowdelay_P_vtm.cfg -c two_layers_wo_ILP.cfg -c RaceHorses.cfg
Decoder error message:
ERROR: In function "DecLib::xDecodeSlice" in C:\Work\JVET\Conformance\VVCSoftware_VTM-VTM-20.0\source\Lib\DecoderLib\DecLib.cpp:2829: All slices in OlsInScope shall have the same value of nuh_layer_id when ptl_multilayer_enabled_flag is equal to 0

Commandline for OLS_B_Tencent_5:
EncoderApp.exe -c encoder_lowdelay_P_vtm.cfg -c two_layers_w_ILP.cfg -c RaceHorses.cfg

Commandline for OLS_C_Tencent_5:
EncoderApp.exe -c encoder_lowdelay_P_vtm.cfg -c three_layers_w_ILP.cfg -c RaceHorses.cfg

Attachments (1) (21.3 KB) - added by xiaozhongxu 5 months ago.

Download all attachments as: .zip

Change history (3)

Changed 5 months ago by xiaozhongxu

comment:1 Changed 5 months ago by ksuehring

The simple work-around would be to add --MultiLayerEnabledFlag=1 to the command line.

But the encoder should actually rather set the flag automatically instead of silently continuing to encode an invalid bitstream.

comment:2 Changed 5 months ago by ksuehring

A possible solution is submitted in

For the B and C streams with inter-layer prediction I get the following encoder error though:

ERROR: In function "xInitLibCfg" in source/App/EncoderApp/EncApp.cpp:222: ptl_multilayer_enabled_flag shall be equal to 1 when target layer use inter layer prediction

The error is incomplete since it does not cover the A case without inter-layer prediction.

The suggested patch prints a warning and updates the flag to 1.

Note: See TracTickets for help on using tickets.