mirror of
git://git.yoctoproject.org/meta-intel.git
synced 2025-07-19 12:59:03 +02:00

Drops list of patches already merged: - 0004-Add-device-ID-for-ARL.patch - 0005-Add-XR24-support-to-DMABuf.patch - 0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch - 0007-Skip-report-keys.patch - 0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch - 0009-Skip-cache-bucket-realloc-for-default-mode-0.patch - 0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch - 0011-Disable-422H-format-output.patch - 0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch Backport a patch to fix build errors: | error: comparing the result of pointer addition ‘(avcDirectmodeParams._MHW_VDBOX_AVC_DIRECTMODE_PARAMS::presAvcDmvBuffers + ((((sizetype)n) + 1) * 328))’ and NULL [-Werror=address] | 592 | if (&avcDirectmodeParams.presAvcDmvBuffers[n+1] != nullptr) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
155 lines
7.1 KiB
Diff
155 lines
7.1 KiB
Diff
From 8aa866dc650e6b0e0b7425bafc7b1039232c377a Mon Sep 17 00:00:00 2001
|
|
From: "Xu, Zhengguo" <zhengguo.xu@intel.com>
|
|
Date: Tue, 16 Apr 2024 09:53:41 +0800
|
|
Subject: [PATCH] [Decode] Correct condition check when dump avc mv buffer
|
|
|
|
Fixes: #1791
|
|
Signed-off-by: Xu, Zhengguo <zhengguo.xu@intel.com>
|
|
|
|
Upstream-Status: Backport [https://github.com/intel/media-driver/commit/8aa866dc650e6b0e0b7425bafc7b1039232c377a]
|
|
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
|
---
|
|
.../common/codec/hal/codechal_decode_avc.cpp | 33 ++++++++-----------
|
|
.../decode_avc_picture_xe_m_base_packet.cpp | 28 +++++++---------
|
|
.../avc/packet/decode_avc_picture_packet.cpp | 30 +++++++----------
|
|
3 files changed, 37 insertions(+), 54 deletions(-)
|
|
|
|
diff --git a/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp b/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp
|
|
index 3adf6994ce..4bac426802 100644
|
|
--- a/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp
|
|
+++ b/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp
|
|
@@ -1619,28 +1619,23 @@ MOS_STATUS CodechalDecodeAvc::InitPicMhwParams(
|
|
uint8_t picID = picMhwParams->AvcDirectmodeParams.bPicIdRemappingInUse ? i : refList[idx]->ucFrameId;
|
|
uint8_t mvIdx = refList[idx]->ucDMVIdx[0];
|
|
|
|
- if (&picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[i] != nullptr)
|
|
- {
|
|
- // dump Reference mvdata
|
|
- std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(i);
|
|
- CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
|
|
- &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[mvIdx],
|
|
- CodechalDbgAttr::attrMvData,
|
|
- mvBufDumpName.c_str(),
|
|
- m_avcDmvBufferSize));
|
|
- }
|
|
+ // dump Reference mvdata
|
|
+ std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(i);
|
|
+ CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
|
|
+ &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[mvIdx],
|
|
+ CodechalDbgAttr::attrMvData,
|
|
+ mvBufDumpName.c_str(),
|
|
+ m_avcDmvBufferSize));
|
|
}
|
|
}
|
|
|
|
- if (&picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx])
|
|
- {
|
|
- // dump Current mvdata
|
|
- CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
|
|
- &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx],
|
|
- CodechalDbgAttr::attrMvData,
|
|
- "DEC_Cur_MV_",
|
|
- m_avcDmvBufferSize));
|
|
- });
|
|
+ // dump Current mvdata
|
|
+ CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer(
|
|
+ &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx],
|
|
+ CodechalDbgAttr::attrMvData,
|
|
+ "DEC_Cur_MV_",
|
|
+ m_avcDmvBufferSize));
|
|
+ );
|
|
|
|
return eStatus;
|
|
}
|
|
diff --git a/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp b/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp
|
|
index bd0611f6fa..035a7e6149 100644
|
|
--- a/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp
|
|
+++ b/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp
|
|
@@ -589,26 +589,20 @@ namespace decode{
|
|
{
|
|
if (m_avcBasicFeature->m_refFrames.m_avcPicIdx[n].bValid)
|
|
{
|
|
- if (&avcDirectmodeParams.presAvcDmvBuffers[n+1] != nullptr)
|
|
- {
|
|
- std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
|
|
- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
|
|
- &avcDirectmodeParams.presAvcDmvBuffers[n+1],
|
|
- CodechalDbgAttr::attrMvData,
|
|
- mvBufDumpName.c_str(),
|
|
- mvBufferSize));
|
|
- }
|
|
+ std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
|
|
+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
|
|
+ &avcDirectmodeParams.presAvcDmvBuffers[n+1],
|
|
+ CodechalDbgAttr::attrMvData,
|
|
+ mvBufDumpName.c_str(),
|
|
+ mvBufferSize));
|
|
}
|
|
}
|
|
|
|
- if (&avcDirectmodeParams.presAvcDmvBuffers[0] != nullptr)
|
|
- {
|
|
- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
|
|
- &avcDirectmodeParams.presAvcDmvBuffers[0],
|
|
- CodechalDbgAttr::attrMvData,
|
|
- "DEC_Cur_MV_",
|
|
- mvBufferSize));
|
|
- }
|
|
+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
|
|
+ &avcDirectmodeParams.presAvcDmvBuffers[0],
|
|
+ CodechalDbgAttr::attrMvData,
|
|
+ "DEC_Cur_MV_",
|
|
+ mvBufferSize));
|
|
return MOS_STATUS_SUCCESS;
|
|
}
|
|
|
|
diff --git a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp
|
|
index 88ed0bb832..8cdc05e585 100644
|
|
--- a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp
|
|
+++ b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp
|
|
@@ -646,26 +646,20 @@ MOS_STATUS AvcDecodePicPkt::DumpResources(uint32_t mvBufferSize) const
|
|
CodechalDbgAttr::attrDecodeReferenceSurfaces,
|
|
refSurfName.c_str()));
|
|
|
|
- if (&mvParam.presAvcDmvBuffers[n+1] != nullptr)
|
|
- {
|
|
- std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
|
|
- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
|
|
- &mvParam.presAvcDmvBuffers[n+1],
|
|
- CodechalDbgAttr::attrMvData,
|
|
- mvBufDumpName.c_str(),
|
|
- mvBufferSize));
|
|
- }
|
|
+ std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n);
|
|
+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
|
|
+ &mvParam.presAvcDmvBuffers[n+1],
|
|
+ CodechalDbgAttr::attrMvData,
|
|
+ mvBufDumpName.c_str(),
|
|
+ mvBufferSize));
|
|
}
|
|
}
|
|
|
|
- if (&mvParam.presAvcDmvBuffers[0] != nullptr)
|
|
- {
|
|
- DECODE_CHK_STATUS(debugInterface->DumpBuffer(
|
|
- &mvParam.presAvcDmvBuffers[0],
|
|
- CodechalDbgAttr::attrMvData,
|
|
- "DEC_Cur_MV_",
|
|
- mvBufferSize));
|
|
- }
|
|
+ DECODE_CHK_STATUS(debugInterface->DumpBuffer(
|
|
+ &mvParam.presAvcDmvBuffers[0],
|
|
+ CodechalDbgAttr::attrMvData,
|
|
+ "DEC_Cur_MV_",
|
|
+ mvBufferSize));
|
|
|
|
return MOS_STATUS_SUCCESS;
|
|
}
|
|
@@ -699,4 +693,4 @@ MOS_STATUS AvcDecodePicPkt::SetSurfaceMmcState() const
|
|
return MOS_STATUS_SUCCESS;
|
|
}
|
|
|
|
-} // namespace decode
|
|
\ No newline at end of file
|
|
+} // namespace decode
|