commit c6070490833d515c237e972ae369fcc30be9e4d7
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Wed Mar 24 14:39:03 2021 +0100
Backport patch
2f9c97c3a592a32a3fb21a56fcba72765fae8742.patch | 28 ++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
---
diff --git a/2f9c97c3a592a32a3fb21a56fcba72765fae8742.patch
b/2f9c97c3a592a32a3fb21a56fcba72765fae8742.patch
new file mode 100644
index 0000000..d39d101
--- /dev/null
+++ b/2f9c97c3a592a32a3fb21a56fcba72765fae8742.patch
@@ -0,0 +1,28 @@
+From 2f9c97c3a592a32a3fb21a56fcba72765fae8742 Mon Sep 17 00:00:00 2001
+From: wangqia6 <qian6.wang(a)intel.com>
+Date: Wed, 17 Mar 2021 16:56:50 +0800
+Subject: [PATCH] [Decode] Fix VLC playbakc issue
+
+Modify HEVC Reference List:
+When reference frame for current frame is not exist, current frame will be skipped. And,
clear current frame reference list.
+---
+ .../agnostic/common/codec/hal/codechal_decode_hevc.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/media_driver/agnostic/common/codec/hal/codechal_decode_hevc.cpp
b/media_driver/agnostic/common/codec/hal/codechal_decode_hevc.cpp
+index 1fca41cfc..b338cfa78 100644
+--- a/media_driver/agnostic/common/codec/hal/codechal_decode_hevc.cpp
++++ b/media_driver/agnostic/common/codec/hal/codechal_decode_hevc.cpp
+@@ -1713,6 +1713,12 @@ MOS_STATUS CodechalDecodeHevc::InitPicLongFormatMhwParams()
+ {
+ if (m_picMhwParams.PipeBufAddrParams->presReferences[i] != nullptr)
+ {
++ if
(Mos_ResourceIsNull(m_picMhwParams.PipeBufAddrParams->presReferences[i]))
++ {
++
MOS_ZeroMemory(&m_hevcRefList[m_hevcPicParams->CurrPic.FrameIdx]->resRefPic,
sizeof(MOS_RESOURCE));
++ CODECHAL_DECODE_ASSERTMESSAGE("Ref frame for Current Frame is
not exist. Current frame will be skipped. Thus, clear current frame Ref List.");
++ return MOS_STATUS_INVALID_PARAMETER;
++ }
+ CODECHAL_DECODE_CHK_STATUS_RETURN(m_osInterface->pfnGetResourceInfo(
+ m_osInterface,
+ m_picMhwParams.PipeBufAddrParams->presReferences[i],