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
594 const int32_t kiCurDid = pEncPEncCtx->uiDependencyId;594 const int32_t kiCurDid = pEncPEncCtx->uiDependencyId;
595 SWelsSvcCodingParam* pCodingParam = pEncPEncCtx->pSvcParam;595 SWelsSvcCodingParam* pCodingParam = pEncPEncCtx->pSvcParam;
596 SSpatialLayerConfig* pParamD = &pCodingParam->sSpatialLayers[kiCurDid];596 SSpatialLayerConfig* pParamD = &pCodingParam->sSpatialLayers[kiCurDid];
597 SSlice* pCurSlice = NULL;
597 598
598 pCurDq = pEncPEncCtx->pCurDqLayer;599 pCurDq = pEncPEncCtx->pCurDqLayer;
599 eNalType = pEncPEncCtx->eNalType;600 eNalType = pEncPEncCtx->eNalType;
@@ -635,8 +636,9 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 35 unmodified lines
635 }636 }
636 637
637 WelsLoadNalForSlice (pSliceBs, eNalType, eNalRefIdc);638 WelsLoadNalForSlice (pSliceBs, eNalType, eNalRefIdc);
638 639 pCurSlice = pEncPEncCtx->pCurDqLayer->ppSliceInLayer[iSliceIdx];
639 iReturn = WelsCodeOneSlice (pEncPEncCtx, iSliceIdx, eNalType);640 assert (iSliceIdx == (int) pCurSlice->uiSliceIdx);
641 iReturn = WelsCodeOneSlice (pEncPEncCtx, pCurSlice, eNalType);
640 if (ENC_RETURN_SUCCESS != iReturn) {642 if (ENC_RETURN_SUCCESS != iReturn) {
641 uiThrdRet = iReturn;643 uiThrdRet = iReturn;
642 WELS_THREAD_SIGNAL_AND_BREAK (pEncPEncCtx->pSliceThreading->pSliceCodedEvent,644 WELS_THREAD_SIGNAL_AND_BREAK (pEncPEncCtx->pSliceThreading->pSliceCodedEvent,
@@ -735,8 +737,9 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 92 unmodified lines
735 737
736 738
737 WelsLoadNalForSlice (pSliceBs, eNalType, eNalRefIdc);739 WelsLoadNalForSlice (pSliceBs, eNalType, eNalRefIdc);
738 740 pCurSlice = pEncPEncCtx->pCurDqLayer->ppSliceInLayer[iSliceIdx];
739 iReturn = WelsCodeOneSlice (pEncPEncCtx, iSliceIdx, eNalType);741 assert (iSliceIdx == (int) pCurSlice->uiSliceIdx);
742 iReturn = WelsCodeOneSlice (pEncPEncCtx, pCurSlice, eNalType);
740 if (ENC_RETURN_SUCCESS != iReturn) {743 if (ENC_RETURN_SUCCESS != iReturn) {
741 uiThrdRet = iReturn;744 uiThrdRet = iReturn;
742 WELS_THREAD_SIGNAL_AND_BREAK (pEncPEncCtx->pSliceThreading->pSliceCodedEvent,745 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