Skip to content

Commit

Permalink
[Encode] Fix encode coverity issues
Browse files Browse the repository at this point in the history
Refactor to avoid Unintended-sign-extension issues.
  • Loading branch information
perrchen authored and intel-mediadev committed Aug 16, 2023
1 parent d52278b commit f1aeacb
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -726,7 +726,8 @@ MOS_STATUS CodechalVdencAvcStateXe_Hpm::SetupThirdRef(

if (!m_vdencStreamInEnabled) // check to allow streamIn sharing
{
MOS_ZeroMemory(pData, m_picHeightInMb * m_picWidthInMb * CODECHAL_VDENC_STREAMIN_STATE::byteSize);
uint32_t picSizeInMb = m_picHeightInMb * m_picWidthInMb;
MOS_ZeroMemory(pData, picSizeInMb * CODECHAL_VDENC_STREAMIN_STATE::byteSize);
m_vdencStreamInEnabled = true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -607,9 +607,10 @@ MOS_STATUS CodechalEncodeVp8::AllocateResources()
"Per MB Quant Data Buffer"));

///pred mv data surface
uint32_t picSizeInMb = m_picWidthInMb * m_picHeightInMb;
CODECHAL_ENCODE_CHK_STATUS_RETURN(
AllocateBuffer(&m_resPredMvDataSurface,
4 * m_picWidthInMb * m_picHeightInMb * sizeof(uint32_t),
4 * picSizeInMb * sizeof(uint32_t),
"Per MV data surface"));

//ModeCostUpdate Surface used by P-kernel and MPU kernel
Expand Down
15 changes: 10 additions & 5 deletions media_driver/agnostic/common/codec/hal/codechal_vdenc_avc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4710,7 +4710,8 @@ MOS_STATUS CodechalVdencAvcState::SetupROIStreamIn(
&lockFlags);
CODECHAL_ENCODE_CHK_NULL_RETURN(pData);

MOS_ZeroMemory(pData, m_picHeightInMb * m_picWidthInMb * CODECHAL_VDENC_STREAMIN_STATE::byteSize);
uint32_t picSizeInMb = m_picHeightInMb * m_picWidthInMb;
MOS_ZeroMemory(pData, picSizeInMb * CODECHAL_VDENC_STREAMIN_STATE::byteSize);
m_vdencStreamInEnabled = true;

// legacy AVC ROI[n]->VDEnc ROI[n+1], ROI 1 has higher priority than 2 and so on
Expand Down Expand Up @@ -4887,7 +4888,8 @@ MOS_STATUS CodechalVdencAvcState::SetupDirtyROI(PMOS_RESOURCE vdencStreamIn)
&lockFlags);
CODECHAL_ENCODE_CHK_NULL_RETURN(pData);

MOS_ZeroMemory(pData, m_picHeightInMb * m_picWidthInMb * CODECHAL_VDENC_STREAMIN_STATE::byteSize);
uint32_t picSizeInMb = m_picHeightInMb * m_picWidthInMb;
MOS_ZeroMemory(pData, picSizeInMb * CODECHAL_VDENC_STREAMIN_STATE::byteSize);

for (int32_t i = picParams->NumDirtyROI - 1; i >= 0; i--)
{
Expand Down Expand Up @@ -4929,7 +4931,8 @@ MOS_STATUS CodechalVdencAvcState::SetupBrcROIBuffer(PCODEC_AVC_ENCODE_PIC_PARAMS
&lockFlags);
CODECHAL_ENCODE_CHK_NULL_RETURN(pData);

MOS_ZeroMemory(pData, m_picHeightInMb * m_picWidthInMb);
uint32_t picSizeInMb = m_picHeightInMb * m_picWidthInMb;
MOS_ZeroMemory(pData, picSizeInMb);


for (int32_t i = picParams->NumROI - 1; i >= 0; i--)
Expand Down Expand Up @@ -4986,7 +4989,8 @@ MOS_STATUS CodechalVdencAvcState::SetupForceSkipStreamIn(PCODEC_AVC_ENCODE_PIC_P
vdencStreamIn,
&lockFlags);
CODECHAL_ENCODE_CHK_NULL_RETURN(pData);
MOS_ZeroMemory(pData, m_picHeightInMb * m_picWidthInMb * CODECHAL_VDENC_STREAMIN_STATE::byteSize);
uint32_t picSizeInMb = m_picHeightInMb * m_picWidthInMb;
MOS_ZeroMemory(pData, picSizeInMb * CODECHAL_VDENC_STREAMIN_STATE::byteSize);

for (uint16_t i = 0; i < m_picHeightInMb * m_picWidthInMb; i++)
{
Expand Down Expand Up @@ -5028,7 +5032,8 @@ MOS_STATUS CodechalVdencAvcState::SetupRegionBoosting(PMOS_RESOURCE vdencStreamI
vdencStreamIn,
&lockFlags);
CODECHAL_ENCODE_CHK_NULL_RETURN(pData);
MOS_ZeroMemory(pData, m_picHeightInMb * m_picWidthInMb * CODECHAL_VDENC_STREAMIN_STATE::byteSize);
uint32_t picSizeInMb = m_picHeightInMb * m_picWidthInMb;
MOS_ZeroMemory(pData, picSizeInMb * CODECHAL_VDENC_STREAMIN_STATE::byteSize);

for (uint16_t y = 0; y < m_picHeightInMb; y++)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6596,8 +6596,9 @@ MOS_STATUS CodechalVdencVp9State::AllocateResources()
&allocParamsForBuffer2D,
&m_output16X16InterModes.OsResource));

uint32_t size = 16 * m_picWidthInMb * m_picHeightInMb * sizeof(uint32_t);
allocParamsForBufferLinear.dwBytes = size;
uint32_t picSizeInMb = m_picWidthInMb * m_picHeightInMb;
uint32_t size = 16 * picSizeInMb * sizeof(uint32_t);
allocParamsForBufferLinear.dwBytes = size;
allocParamsForBufferLinear.pBufName = "Mode Decision Buffer";

for (auto i = 0; i < 2; i++)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,8 @@ namespace encode
ROIMapBuffer* pRoiMapBuffer = (ROIMapBuffer*)m_allocator->LockResourceForWrite(pResRoiMapBuffer);
ENCODE_CHK_NULL_RETURN(pRoiMapBuffer);

MOS_ZeroMemory(pRoiMapBuffer, m_basicFeature->m_picHeightInMb * m_basicFeature->m_picWidthInMb);
uint32_t picSizeInMb = m_basicFeature->m_picHeightInMb * m_basicFeature->m_picWidthInMb;
MOS_ZeroMemory(pRoiMapBuffer, picSizeInMb);
for (int32_t i = m_picParam->NumROI - 1; i >= 0; i--)
{
ENCODE_CHK_STATUS_MESSAGE_RETURN(GetDeltaQPIndex(m_maxNumBrcRoi, m_picParam->ROI[i].PriorityLevelOrDQp, dqpIdx), "dQP index not found");
Expand Down

0 comments on commit f1aeacb

Please sign in to comment.