diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp index 3356ceacb1991f64820867f808fd7635e8b7c81f..55892dbaea8b98dd1917bcb66ea36cf5f3c94ace 100644 --- a/source/Lib/DecoderLib/VLCReader.cpp +++ b/source/Lib/DecoderLib/VLCReader.cpp @@ -3009,7 +3009,7 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag { for (int i = 0; i < rpl->getNumRefEntries(); i++) { - if (rpl->isRefPicLongterm(i)) + if (rpl->isRefPicLongterm(i) && !rpl->isInterLayerRefPic(i)) { if (rpl->getLtrpInSliceHeaderFlag()) { @@ -3898,7 +3898,7 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par { for (int i = 0; i < rpl0->getNumRefEntries(); i++) { - if (rpl0->isRefPicLongterm(i)) + if (rpl0->isRefPicLongterm(i) && !rpl0->isInterLayerRefPic(i)) { if (rpl0->getLtrpInSliceHeaderFlag()) { @@ -3983,7 +3983,7 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par { for (int i = 0; i < rpl1->getNumRefEntries(); i++) { - if (rpl1->isRefPicLongterm(i)) + if (rpl1->isRefPicLongterm(i) && !rpl1->isInterLayerRefPic(i)) { if (rpl1->getLtrpInSliceHeaderFlag()) {