Opened 2 years ago
Closed 3 months ago
#1595 closed defect (fixed)
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@… |
Description ¶
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
Change history (5)
Changed 2 years ago by xiaozhongxu
comment:1 Changed 2 years ago by ksuehring
comment:2 Changed 2 years ago by ksuehring
A possible solution is submitted in https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/merge_requests/2573
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.
comment:3 Changed 3 months ago by iole_moccagatta
MultiLayerEnabledFlag=1 has been added to two_layers.cfg in https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/merge_requests/2582. MR #2582 has been merged.
OLS_A_Tencent_5
OLS_B_Tencent_5
OLS_C_Tencent_5
have been re-generated (see https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/1581).
We can close this ticket.
comment:4 Changed 3 months ago by iole_moccagatta
- Resolution set to fixed
- Status changed from new to closed
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.