Showing the changes to codec/encoder/core/src/wels_task_encoder.cpp (1 of 5 files). Show all
Unified · Split
| @@ -113,7 +113,7 @@ WelsErrorType CWelsSliceEncodingTask::InitTask() { · 112 unmodified lines | ||
| 113 | 113 | } |
| 114 | 114 | |
| 115 | 115 | // InitOneSliceInThread(); |
| 116 | − m_pSlice = m_pCtx->pCurDqLayer->ppSliceInLayer[m_iSliceIdx]; | |
| 116 | + m_pSlice = &m_pCtx->pCurDqLayer->sSliceThreadInfo.pSliceInThread[0][m_iSliceIdx]; | |
| 117 | 117 | m_pSliceBs = &m_pSlice->sSliceBs; |
| 118 | 118 | |
| 119 | 119 | m_pSliceBs->uiBsPos = 0; |
| @@ -166,9 +166,9 @@ WelsErrorType CWelsSliceEncodingTask::ExecuteTask() { · 46 unmodified lines | ||
| 166 | 166 | } |
| 167 | 167 | |
| 168 | 168 | WelsLoadNalForSlice (m_pSliceBs, m_eNalType, m_eNalRefIdc); |
| 169 | − SSlice* pCurSlice = m_pCtx->pCurDqLayer->ppSliceInLayer[m_iSliceIdx]; | |
| 170 | − assert (m_iSliceIdx == (int) pCurSlice->uiSliceIdx); | |
| 171 | − int32_t iReturn = WelsCodeOneSlice (m_pCtx, pCurSlice, m_eNalType); | |
| 169 | + | |
| 170 | + assert (m_iSliceIdx == (int) m_pSlice->uiSliceIdx); | |
| 171 | + int32_t iReturn = WelsCodeOneSlice (m_pCtx, m_pSlice, m_eNalType); | |
| 172 | 172 | if (ENC_RETURN_SUCCESS != iReturn) { |
| 173 | 173 | return iReturn; |
| 174 | 174 | } |
| @@ -239,11 +239,11 @@ WelsErrorType CWelsConstrainedSizeSlicingEncodingTask::ExecuteTask() { · 64 unmodified lines | ||
| 239 | 239 | SSliceCtx* pSliceCtx = &pCurDq->sSliceEncCtx; |
| 240 | 240 | const int32_t kiSliceIdxStep = m_pCtx->iActiveThreadsNum; |
| 241 | 241 | SSpatialLayerInternal* pParamInternal = &m_pCtx->pSvcParam->sDependencyLayers[m_pCtx->uiDependencyId]; |
| 242 | − SSliceHeaderExt* pStartSliceHeaderExt = &pCurDq->ppSliceInLayer[m_iSliceIdx]->sSliceHeaderExt; | |
| 243 | 242 | const int32_t kiPartitionId = m_iSliceIdx % kiSliceIdxStep; |
| 244 | 243 | const int32_t kiFirstMbInPartition = pCurDq->pFirstMbIdxOfPartition[kiPartitionId]; |
| 245 | 244 | const int32_t kiEndMbIdxInPartition = pCurDq->pEndMbIdxOfPartition[kiPartitionId]; |
| 246 | − pStartSliceHeaderExt->sSliceHeader.iFirstMbInSlice = kiFirstMbInPartition; | |
| 245 | + m_pSlice = &pCurDq->sSliceThreadInfo.pSliceInThread[0][m_iSliceIdx]; | |
| 246 | + m_pSlice->sSliceHeaderExt.sSliceHeader.iFirstMbInSlice = kiFirstMbInPartition; | |
| 247 | 247 | pCurDq->pNumSliceCodedOfPartition[kiPartitionId] = 1; |
| 248 | 248 | pCurDq->pLastCodedMbIdxOfPartition[kiPartitionId] = 0; |
| 249 | 249 | |
| @@ -261,7 +261,7 @@ WelsErrorType CWelsConstrainedSizeSlicingEncodingTask::ExecuteTask() { · 11 unmodified lines | ||
| 261 | 261 | return ENC_RETURN_KNOWN_ISSUE; |
| 262 | 262 | } |
| 263 | 263 | |
| 264 | − m_pSlice = pCurDq->ppSliceInLayer[iLocalSliceIdx]; | |
| 264 | + m_pSlice = &pCurDq->sSliceThreadInfo.pSliceInThread[0][iLocalSliceIdx]; | |
| 265 | 265 | m_pSliceBs = &m_pSlice->sSliceBs; |
| 266 | 266 | |
| 267 | 267 | m_pSliceBs->uiBsPos = 0; |
| @@ -283,9 +283,9 @@ WelsErrorType CWelsConstrainedSizeSlicingEncodingTask::ExecuteTask() { · 15 unmodified lines | ||
| 283 | 283 | } |
| 284 | 284 | |
| 285 | 285 | WelsLoadNalForSlice (m_pSliceBs, m_eNalType, m_eNalRefIdc); |
| 286 | − SSlice* pCurSlice = m_pCtx->pCurDqLayer->ppSliceInLayer[iLocalSliceIdx]; | |
| 287 | − assert (iLocalSliceIdx == (int) pCurSlice->uiSliceIdx); | |
| 288 | − int32_t iReturn = WelsCodeOneSlice (m_pCtx, pCurSlice, m_eNalType); | |
| 286 | + | |
| 287 | + assert (iLocalSliceIdx == (int) m_pSlice->uiSliceIdx); | |
| 288 | + int32_t iReturn = WelsCodeOneSlice (m_pCtx, m_pSlice, m_eNalType); | |
| 289 | 289 | if (ENC_RETURN_SUCCESS != iReturn) { |
| 290 | 290 | return iReturn; |
| 291 | 291 | } |