History

Multi-thread-fixed:RBC#1713:pSlice instead of kiSliceIdx as input parameter in WelsCodeOneSlice

huade committed 9 years ago

Commit 40566f21 parent 6f347d16 files · +28 −19Browse files

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

Unified · Split

codec/encoder/core/src/slice_multi_threading.cpp+7−4
@@ -594,6 +594,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 593 unmodified lines
594594 const int32_t kiCurDid = pEncPEncCtx->uiDependencyId;
595595 SWelsSvcCodingParam* pCodingParam = pEncPEncCtx->pSvcParam;
596596 SSpatialLayerConfig* pParamD = &pCodingParam->sSpatialLayers[kiCurDid];
597+ SSlice* pCurSlice = NULL;
597598
598599 pCurDq = pEncPEncCtx->pCurDqLayer;
599600 eNalType = pEncPEncCtx->eNalType;
@@ -635,8 +636,9 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 35 unmodified lines
635636 }
636637
637638 WelsLoadNalForSlice (pSliceBs, eNalType, eNalRefIdc);
638−
639− iReturn = WelsCodeOneSlice (pEncPEncCtx, iSliceIdx, eNalType);
639+ pCurSlice = pEncPEncCtx->pCurDqLayer->ppSliceInLayer[iSliceIdx];
640+ assert (iSliceIdx == (int) pCurSlice->uiSliceIdx);
641+ iReturn = WelsCodeOneSlice (pEncPEncCtx, pCurSlice, eNalType);
640642 if (ENC_RETURN_SUCCESS != iReturn) {
641643 uiThrdRet = iReturn;
642644 WELS_THREAD_SIGNAL_AND_BREAK (pEncPEncCtx->pSliceThreading->pSliceCodedEvent,
@@ -735,8 +737,9 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 92 unmodified lines
735737
736738
737739 WelsLoadNalForSlice (pSliceBs, eNalType, eNalRefIdc);
738−
739− iReturn = WelsCodeOneSlice (pEncPEncCtx, iSliceIdx, eNalType);
740+ pCurSlice = pEncPEncCtx->pCurDqLayer->ppSliceInLayer[iSliceIdx];
741+ assert (iSliceIdx == (int) pCurSlice->uiSliceIdx);
742+ iReturn = WelsCodeOneSlice (pEncPEncCtx, pCurSlice, eNalType);
740743 if (ENC_RETURN_SUCCESS != iReturn) {
741744 uiThrdRet = iReturn;
742745 WELS_THREAD_SIGNAL_AND_BREAK (pEncPEncCtx->pSliceThreading->pSliceCodedEvent,

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