diff options
Diffstat (limited to 'recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch')
-rw-r--r-- | recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch b/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch new file mode 100644 index 00000000..17b2d635 --- /dev/null +++ b/recipes-multimedia/libva/files/8aa866dc650e6b0e0b7425bafc7b1039232c377a.patch | |||
@@ -0,0 +1,154 @@ | |||
1 | From 8aa866dc650e6b0e0b7425bafc7b1039232c377a Mon Sep 17 00:00:00 2001 | ||
2 | From: "Xu, Zhengguo" <zhengguo.xu@intel.com> | ||
3 | Date: Tue, 16 Apr 2024 09:53:41 +0800 | ||
4 | Subject: [PATCH] [Decode] Correct condition check when dump avc mv buffer | ||
5 | |||
6 | Fixes: #1791 | ||
7 | Signed-off-by: Xu, Zhengguo <zhengguo.xu@intel.com> | ||
8 | |||
9 | Upstream-Status: Backport [https://github.com/intel/media-driver/commit/8aa866dc650e6b0e0b7425bafc7b1039232c377a] | ||
10 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
11 | --- | ||
12 | .../common/codec/hal/codechal_decode_avc.cpp | 33 ++++++++----------- | ||
13 | .../decode_avc_picture_xe_m_base_packet.cpp | 28 +++++++--------- | ||
14 | .../avc/packet/decode_avc_picture_packet.cpp | 30 +++++++---------- | ||
15 | 3 files changed, 37 insertions(+), 54 deletions(-) | ||
16 | |||
17 | diff --git a/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp b/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp | ||
18 | index 3adf6994ce..4bac426802 100644 | ||
19 | --- a/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp | ||
20 | +++ b/media_driver/agnostic/common/codec/hal/codechal_decode_avc.cpp | ||
21 | @@ -1619,28 +1619,23 @@ MOS_STATUS CodechalDecodeAvc::InitPicMhwParams( | ||
22 | uint8_t picID = picMhwParams->AvcDirectmodeParams.bPicIdRemappingInUse ? i : refList[idx]->ucFrameId; | ||
23 | uint8_t mvIdx = refList[idx]->ucDMVIdx[0]; | ||
24 | |||
25 | - if (&picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[i] != nullptr) | ||
26 | - { | ||
27 | - // dump Reference mvdata | ||
28 | - std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(i); | ||
29 | - CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer( | ||
30 | - &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[mvIdx], | ||
31 | - CodechalDbgAttr::attrMvData, | ||
32 | - mvBufDumpName.c_str(), | ||
33 | - m_avcDmvBufferSize)); | ||
34 | - } | ||
35 | + // dump Reference mvdata | ||
36 | + std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(i); | ||
37 | + CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer( | ||
38 | + &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[mvIdx], | ||
39 | + CodechalDbgAttr::attrMvData, | ||
40 | + mvBufDumpName.c_str(), | ||
41 | + m_avcDmvBufferSize)); | ||
42 | } | ||
43 | } | ||
44 | |||
45 | - if (&picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx]) | ||
46 | - { | ||
47 | - // dump Current mvdata | ||
48 | - CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer( | ||
49 | - &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx], | ||
50 | - CodechalDbgAttr::attrMvData, | ||
51 | - "DEC_Cur_MV_", | ||
52 | - m_avcDmvBufferSize)); | ||
53 | - }); | ||
54 | + // dump Current mvdata | ||
55 | + CODECHAL_DECODE_CHK_STATUS_RETURN(m_debugInterface->DumpBuffer( | ||
56 | + &picMhwParams->AvcDirectmodeParams.presAvcDmvBuffers[picMhwParams->AvcDirectmodeParams.ucAvcDmvIdx], | ||
57 | + CodechalDbgAttr::attrMvData, | ||
58 | + "DEC_Cur_MV_", | ||
59 | + m_avcDmvBufferSize)); | ||
60 | + ); | ||
61 | |||
62 | return eStatus; | ||
63 | } | ||
64 | 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 | ||
65 | index bd0611f6fa..035a7e6149 100644 | ||
66 | --- a/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp | ||
67 | +++ b/media_driver/media_softlet/agnostic/Xe_M/Xe_M_base/codec/hal/dec/avc/packet/decode_avc_picture_xe_m_base_packet.cpp | ||
68 | @@ -589,26 +589,20 @@ namespace decode{ | ||
69 | { | ||
70 | if (m_avcBasicFeature->m_refFrames.m_avcPicIdx[n].bValid) | ||
71 | { | ||
72 | - if (&avcDirectmodeParams.presAvcDmvBuffers[n+1] != nullptr) | ||
73 | - { | ||
74 | - std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n); | ||
75 | - DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
76 | - &avcDirectmodeParams.presAvcDmvBuffers[n+1], | ||
77 | - CodechalDbgAttr::attrMvData, | ||
78 | - mvBufDumpName.c_str(), | ||
79 | - mvBufferSize)); | ||
80 | - } | ||
81 | + std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n); | ||
82 | + DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
83 | + &avcDirectmodeParams.presAvcDmvBuffers[n+1], | ||
84 | + CodechalDbgAttr::attrMvData, | ||
85 | + mvBufDumpName.c_str(), | ||
86 | + mvBufferSize)); | ||
87 | } | ||
88 | } | ||
89 | |||
90 | - if (&avcDirectmodeParams.presAvcDmvBuffers[0] != nullptr) | ||
91 | - { | ||
92 | - DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
93 | - &avcDirectmodeParams.presAvcDmvBuffers[0], | ||
94 | - CodechalDbgAttr::attrMvData, | ||
95 | - "DEC_Cur_MV_", | ||
96 | - mvBufferSize)); | ||
97 | - } | ||
98 | + DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
99 | + &avcDirectmodeParams.presAvcDmvBuffers[0], | ||
100 | + CodechalDbgAttr::attrMvData, | ||
101 | + "DEC_Cur_MV_", | ||
102 | + mvBufferSize)); | ||
103 | return MOS_STATUS_SUCCESS; | ||
104 | } | ||
105 | |||
106 | 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 | ||
107 | index 88ed0bb832..8cdc05e585 100644 | ||
108 | --- a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp | ||
109 | +++ b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_picture_packet.cpp | ||
110 | @@ -646,26 +646,20 @@ MOS_STATUS AvcDecodePicPkt::DumpResources(uint32_t mvBufferSize) const | ||
111 | CodechalDbgAttr::attrDecodeReferenceSurfaces, | ||
112 | refSurfName.c_str())); | ||
113 | |||
114 | - if (&mvParam.presAvcDmvBuffers[n+1] != nullptr) | ||
115 | - { | ||
116 | - std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n); | ||
117 | - DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
118 | - &mvParam.presAvcDmvBuffers[n+1], | ||
119 | - CodechalDbgAttr::attrMvData, | ||
120 | - mvBufDumpName.c_str(), | ||
121 | - mvBufferSize)); | ||
122 | - } | ||
123 | + std::string mvBufDumpName = "_DEC_Ref_MV_" + std::to_string(n); | ||
124 | + DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
125 | + &mvParam.presAvcDmvBuffers[n+1], | ||
126 | + CodechalDbgAttr::attrMvData, | ||
127 | + mvBufDumpName.c_str(), | ||
128 | + mvBufferSize)); | ||
129 | } | ||
130 | } | ||
131 | |||
132 | - if (&mvParam.presAvcDmvBuffers[0] != nullptr) | ||
133 | - { | ||
134 | - DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
135 | - &mvParam.presAvcDmvBuffers[0], | ||
136 | - CodechalDbgAttr::attrMvData, | ||
137 | - "DEC_Cur_MV_", | ||
138 | - mvBufferSize)); | ||
139 | - } | ||
140 | + DECODE_CHK_STATUS(debugInterface->DumpBuffer( | ||
141 | + &mvParam.presAvcDmvBuffers[0], | ||
142 | + CodechalDbgAttr::attrMvData, | ||
143 | + "DEC_Cur_MV_", | ||
144 | + mvBufferSize)); | ||
145 | |||
146 | return MOS_STATUS_SUCCESS; | ||
147 | } | ||
148 | @@ -699,4 +693,4 @@ MOS_STATUS AvcDecodePicPkt::SetSurfaceMmcState() const | ||
149 | return MOS_STATUS_SUCCESS; | ||
150 | } | ||
151 | |||
152 | -} // namespace decode | ||
153 | \ No newline at end of file | ||
154 | +} // namespace decode | ||