blob: 079eeb0f6cec18fd1b8ef617349ab4a4094b7218 [file] [log] [blame]
From 473509cef08a20c66e6dea33934eb69f727baf51 Mon Sep 17 00:00:00 2001
From: LeyuYao <leyu.yao@intel.com>
Date: Tue, 7 Mar 2023 18:31:41 +0800
Subject: [PATCH 1/3] [Encode] Fix surface lock segment fault
Fix vp9 regression when trying to lock a NV12 surface, add protection for transform from tileY to tileLinear
---
media_softlet/agnostic/common/os/mos_utilities_next.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/media_softlet/agnostic/common/os/mos_utilities_next.cpp b/media_softlet/agnostic/common/os/mos_utilities_next.cpp
index 00592006533d..d72225af9882 100644
--- a/media_softlet/agnostic/common/os/mos_utilities_next.cpp
+++ b/media_softlet/agnostic/common/os/mos_utilities_next.cpp
@@ -998,8 +998,8 @@ void MosUtilities::MosSwizzleData(
SrcTiling,
false,
extFlags);
-
- *(pDst + LinearOffset) = *(pSrc + TileOffset);
+ if(TileOffset < iHeight * iPitch)
+ *(pDst + LinearOffset) = *(pSrc + TileOffset);
}
// linear --> x or y
else if (IS_LINEAR_TO_TILED(SrcTiling, DstTiling))
@@ -1011,8 +1011,8 @@ void MosUtilities::MosSwizzleData(
DstTiling,
false,
extFlags);
-
- *(pDst + TileOffset) = *(pSrc + LinearOffset);
+ if(TileOffset < iHeight * iPitch)
+ *(pDst + TileOffset) = *(pSrc + LinearOffset);
}
else
{
--
2.7.4