History

Multi-thread-fixed:RBC#1680:ppSliceInLayer instead of pSliceInLayer for all slice buffer management

huade committed 9 years ago

Commit 8ff579b1 parent 01e31ff11 files · +162 −153Browse files

Showing the changes to codec/encoder/core/src/wels_task_encoder.cpp (1 of 11 files). Show all

Unified · Split

codec/encoder/core/src/wels_task_encoder.cpp+4−4
@@ -113,7 +113,7 @@ WelsErrorType CWelsSliceEncodingTask::InitTask() { · 112 unmodified lines
113113 }
114114 SetOneSliceBsBufferUnderMultithread (m_pCtx, m_iThreadIdx, m_iSliceIdx);
115115
116− m_pSlice = &m_pCtx->pCurDqLayer->sLayerInfo.pSliceInLayer[m_iSliceIdx];
116+ m_pSlice = m_pCtx->pCurDqLayer->ppSliceInLayer[m_iSliceIdx];
117117 m_pSliceBs = &m_pSlice->sSliceBs;
118118
119119 m_pSliceBs->uiBsPos = 0;
@@ -219,7 +219,7 @@ void CWelsLoadBalancingSlicingEncodingTask::FinishTask() { · 99 unmodified lines
219219 m_iSliceIdx,
220220 m_pSlice->uiSliceConsumeTime,
221221 m_iSliceSize,
222− m_pCtx->pCurDqLayer->sLayerInfo.pSliceInLayer[m_iSliceIdx].sSliceHeaderExt.sSliceHeader.iFirstMbInSlice,
222+ m_pCtx->pCurDqLayer->ppSliceInLayer[m_iSliceIdx]->sSliceHeaderExt.sSliceHeader.iFirstMbInSlice,
223223 m_pSlice->iCountMbNumInSlice,
224224 (m_pSlice->uiSliceConsumeTime + m_iSliceStart));
225225 }
@@ -233,7 +233,7 @@ WelsErrorType CWelsConstrainedSizeSlicingEncodingTask::ExecuteTask() { · 7 unmodified lines
233233 const int32_t kiSliceIdxStep = m_pCtx->iActiveThreadsNum;
234234
235235 SSpatialLayerInternal *pParamInternal = &m_pCtx->pSvcParam->sDependencyLayers[m_pCtx->uiDependencyId];
236− SSliceHeaderExt* pStartSliceHeaderExt = &pCurDq->sLayerInfo.pSliceInLayer[m_iSliceIdx].sSliceHeaderExt;
236+ SSliceHeaderExt* pStartSliceHeaderExt = &pCurDq->ppSliceInLayer[m_iSliceIdx]->sSliceHeaderExt;
237237
238238 //deal with partition: TODO: here SSliceThreadPrivateData is just for parition info and actually has little relationship with threadbuffer, and iThreadIndex is not used in threadpool model, need renaming after removing old logic to avoid confusion
239239 const int32_t kiPartitionId = m_iSliceIdx%kiSliceIdxStep;
@@ -260,7 +260,7 @@ WelsErrorType CWelsConstrainedSizeSlicingEncodingTask::ExecuteTask() { · 20 unmodified lines
260260 }
261261
262262 SetOneSliceBsBufferUnderMultithread (m_pCtx, m_iThreadIdx, iLocalSliceIdx);
263− m_pSlice = &pCurDq->sLayerInfo.pSliceInLayer[iLocalSliceIdx];
263+ m_pSlice = pCurDq->ppSliceInLayer[iLocalSliceIdx];
264264 m_pSliceBs = &m_pSlice->sSliceBs;
265265
266266 m_pSliceBs->uiBsPos = 0;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t