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
113 }113 }
114 SetOneSliceBsBufferUnderMultithread (m_pCtx, m_iThreadIdx, m_iSliceIdx);114 SetOneSliceBsBufferUnderMultithread (m_pCtx, m_iThreadIdx, m_iSliceIdx);
115 115
116 m_pSlice = &m_pCtx->pCurDqLayer->sLayerInfo.pSliceInLayer[m_iSliceIdx];116 m_pSlice = m_pCtx->pCurDqLayer->ppSliceInLayer[m_iSliceIdx];
117 m_pSliceBs = &m_pSlice->sSliceBs;117 m_pSliceBs = &m_pSlice->sSliceBs;
118 118
119 m_pSliceBs->uiBsPos = 0;119 m_pSliceBs->uiBsPos = 0;
@@ -219,7 +219,7 @@ void CWelsLoadBalancingSlicingEncodingTask::FinishTask() { · 99 unmodified lines
219 m_iSliceIdx,219 m_iSliceIdx,
220 m_pSlice->uiSliceConsumeTime,220 m_pSlice->uiSliceConsumeTime,
221 m_iSliceSize,221 m_iSliceSize,
222 m_pCtx->pCurDqLayer->sLayerInfo.pSliceInLayer[m_iSliceIdx].sSliceHeaderExt.sSliceHeader.iFirstMbInSlice,222 m_pCtx->pCurDqLayer->ppSliceInLayer[m_iSliceIdx]->sSliceHeaderExt.sSliceHeader.iFirstMbInSlice,
223 m_pSlice->iCountMbNumInSlice,223 m_pSlice->iCountMbNumInSlice,
224 (m_pSlice->uiSliceConsumeTime + m_iSliceStart));224 (m_pSlice->uiSliceConsumeTime + m_iSliceStart));
225}225}
@@ -233,7 +233,7 @@ WelsErrorType CWelsConstrainedSizeSlicingEncodingTask::ExecuteTask() { · 7 unmodified lines
233 const int32_t kiSliceIdxStep = m_pCtx->iActiveThreadsNum;233 const int32_t kiSliceIdxStep = m_pCtx->iActiveThreadsNum;
234 234
235 SSpatialLayerInternal *pParamInternal = &m_pCtx->pSvcParam->sDependencyLayers[m_pCtx->uiDependencyId];235 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;
237 237
238 //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 confusion238 //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
239 const int32_t kiPartitionId = m_iSliceIdx%kiSliceIdxStep;239 const int32_t kiPartitionId = m_iSliceIdx%kiSliceIdxStep;
@@ -260,7 +260,7 @@ WelsErrorType CWelsConstrainedSizeSlicingEncodingTask::ExecuteTask() { · 20 unmodified lines
260 }260 }
261 261
262 SetOneSliceBsBufferUnderMultithread (m_pCtx, m_iThreadIdx, iLocalSliceIdx);262 SetOneSliceBsBufferUnderMultithread (m_pCtx, m_iThreadIdx, iLocalSliceIdx);
263 m_pSlice = &pCurDq->sLayerInfo.pSliceInLayer[iLocalSliceIdx];263 m_pSlice = pCurDq->ppSliceInLayer[iLocalSliceIdx];
264 m_pSliceBs = &m_pSlice->sSliceBs;264 m_pSliceBs = &m_pSlice->sSliceBs;
265 265
266 m_pSliceBs->uiBsPos = 0;266 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