blob: 6076d387e6a8b8cc951cf6c6c155697caecd7285 [file] [log] [blame]
From 8f5d4d353334fe4fbc897cf75b88c04699ceb4eb Mon Sep 17 00:00:00 2001
From: Abhishek Kumar <abhishek4.kumar@intel.com>
Date: Wed, 29 Apr 2020 17:35:34 +0530
Subject: [PATCH] [VP] fix crash in vp8 playback.
Inserting an already registered surface creates new index
without removing old, as the surface is already registered
in table no need to register , remove RegisterRTSurfaces.
fixes vp8 decoding crash in chromeos,ffmpeg 4.2 vp8 decoding
works fine in kbl/cml/jsl.
---
media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp | 3 ---
1 file changed, 3 deletions(-)
diff --git a/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp b/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
index c16f564e91ce..cdb68b7097f0 100644
--- a/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
+++ b/media_driver/linux/common/codec/ddi/media_ddi_decode_vp8.cpp
@@ -167,21 +167,18 @@ VAStatus DdiDecodeVP8::ParsePicParams(
{
DdiMedia_MediaSurfaceToMosResource(lastRefSurface, &m_resNoneRegLastRefFrame);
m_ddiDecodeCtx->DecodeParams.m_presNoneRegLastRefFrame = &m_resNoneRegLastRefFrame;
- RegisterRTSurfaces(&m_ddiDecodeCtx->RTtbl, lastRefSurface);
}
goldenRefSurface = DdiMedia_GetSurfaceFromVASurfaceID(mediaCtx, picParam->golden_ref_frame);
if(goldenRefSurface)
{
DdiMedia_MediaSurfaceToMosResource(lastRefSurface, &m_resNoneRegGoldenRefFrame);
m_ddiDecodeCtx->DecodeParams.m_presNoneRegGoldenRefFrame = &m_resNoneRegGoldenRefFrame;
- RegisterRTSurfaces(&m_ddiDecodeCtx->RTtbl, lastRefSurface);
}
altRefSurface = DdiMedia_GetSurfaceFromVASurfaceID(mediaCtx, picParam->alt_ref_frame);
if(altRefSurface)
{
DdiMedia_MediaSurfaceToMosResource(lastRefSurface, &m_resNoneRegAltRefFrame);
m_ddiDecodeCtx->DecodeParams.m_presNoneRegAltRefFrame = &m_resNoneRegAltRefFrame;
- RegisterRTSurfaces(&m_ddiDecodeCtx->RTtbl, lastRefSurface);
}
}
--
2.7.4