From f9fcc377f406e17e93c77ee9ebaf00803935dfa6 Mon Sep 17 00:00:00 2001
From: Sees <vsevolod.egorov@vicuesoft.com>
Date: Mon, 6 Mar 2023 20:45:40 +0300
Subject: [PATCH] Fix parsing of SDI SEI message

Use m_sdiMaxLayersMinus1 instead of m_sdiViewIdLenMinus1
---
 source/Lib/DecoderLib/SEIread.cpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/source/Lib/DecoderLib/SEIread.cpp b/source/Lib/DecoderLib/SEIread.cpp
index d9aed5b27..37575a669 100644
--- a/source/Lib/DecoderLib/SEIread.cpp
+++ b/source/Lib/DecoderLib/SEIread.cpp
@@ -2363,18 +2363,18 @@ void SEIReader::xParseSEIScalabilityDimensionInfo(SEIScalabilityDimensionInfo& s
     }
     for (int i = 0; i <= sei.m_sdiMaxLayersMinus1; i++)
     {
-      sei.m_sdiLayerId.resize(sei.m_sdiViewIdLenMinus1 + 1);
+      sei.m_sdiLayerId.resize(sei.m_sdiMaxLayersMinus1 + 1);
       sei_read_code( pDecodedMessageOutputStream, 6, val, "sdi_layer_id" ); sei.m_sdiLayerId[i] = val;
       if (sei.m_sdiMultiviewInfoFlag)
       {
-        sei.m_sdiViewIdVal.resize(sei.m_sdiViewIdLenMinus1 + 1);
+        sei.m_sdiViewIdVal.resize(sei.m_sdiMaxLayersMinus1 + 1);
         sei_read_code( pDecodedMessageOutputStream, sei.m_sdiViewIdLenMinus1 + 1, val, "sdi_view_id_val" ); sei.m_sdiViewIdVal[i] = val;
       }
       if (sei.m_sdiAuxiliaryInfoFlag)
       {
-        sei.m_sdiAuxId.resize(sei.m_sdiViewIdLenMinus1 + 1);
-        sei.m_sdiNumAssociatedPrimaryLayersMinus1.resize(sei.m_sdiViewIdLenMinus1 + 1);
-        sei.m_sdiAssociatedPrimaryLayerIdx.resize(sei.m_sdiViewIdLenMinus1 + 1);
+        sei.m_sdiAuxId.resize(sei.m_sdiMaxLayersMinus1 + 1);
+        sei.m_sdiNumAssociatedPrimaryLayersMinus1.resize(sei.m_sdiMaxLayersMinus1 + 1);
+        sei.m_sdiAssociatedPrimaryLayerIdx.resize(sei.m_sdiMaxLayersMinus1 + 1);
         sei_read_code( pDecodedMessageOutputStream, 8, val, "sdi_aux_id" ); sei.m_sdiAuxId[i] = val;
         if (sei.m_sdiAuxId[i] > 0)
         {
-- 
GitLab