History

Multi-thread-fixed:RBC#1723:change slice idx type from unint32_t to int32_t

huade committed 9 years ago

Commit 7e113c11 parent 71750df7 files · +37 −105Browse files

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

Unified · Split

codec/encoder/core/src/slice_multi_threading.cpp+8−11
@@ -237,8 +237,8 @@ void DynamicAdjustSlicing (sWelsEncCtx* pCtx, · 236 unmodified lines
237237 return;
238238 }
239239 iRunLen[iSliceIdx] = iNumMbAssigning;
240− MT_TRACE_LOG (& (pCtx->sLogCtx), WELS_LOG_DEBUG,
241− "[MT] DynamicAdjustSlicing(), uiSliceIdx= %d, iSliceComplexRatio= %.2f, slice_run_org= %d, slice_run_adj= %d",
240+ MT_TRACE_LOG (&(pCtx->sLogCtx), WELS_LOG_DEBUG,
241+ "[MT] DynamicAdjustSlicing(), iSliceIdx= %d, iSliceComplexRatio= %.2f, slice_run_org= %d, slice_run_adj= %d",
242242 iSliceIdx, ppSliceInLayer[iSliceIdx]->iSliceComplexRatio * 1.0f / INT_MULTIPLY,
243243 ppSliceInLayer[iSliceIdx]->iCountMbNumInSlice,
244244 iNumMbAssigning);
@@ -262,7 +262,6 @@ int32_t RequestMtResource (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPara · 17 unmodified lines
262262 int32_t iThreadNum = 0;
263263 int32_t iIdx = 0;
264264 int32_t iReturn = ENC_RETURN_SUCCESS;
265− int32_t iMaxSliceNumInThread = 0;
266265
267266 if (NULL == ppCtx || NULL == pCodingParam || NULL == *ppCtx || iCountBsLen <= 0)
268267 return 1;
@@ -275,8 +274,6 @@ int32_t RequestMtResource (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPara · 6 unmodified lines
275274 iThreadNum = pPara->iMultipleThreadIdc;
276275
277276 assert (iThreadNum > 0);
278− iMaxSliceNumInThread = ((*ppCtx)->iMaxSliceCount / iThreadNum + 1) * 2;
279− iMaxSliceNumInThread = WELS_MIN ((*ppCtx)->iMaxSliceCount, (int) iMaxSliceNumInThread);
280277
281278 pSmt = (SSliceThreading*)pMa->WelsMalloc (sizeof (SSliceThreading), "SSliceThreading");
282279 WELS_VERIFY_RETURN_IF (1, (NULL == pSmt))
@@ -636,7 +633,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 353 unmodified lines
636633
637634 WelsLoadNalForSlice (pSliceBs, eNalType, eNalRefIdc);
638635 pCurSlice = pEncPEncCtx->pCurDqLayer->ppSliceInLayer[iSliceIdx];
639− assert (iSliceIdx == (int) pCurSlice->uiSliceIdx);
636+ assert (iSliceIdx == (int) pCurSlice->iSliceIdx);
640637 iReturn = SetSliceBoundaryInfo(pEncPEncCtx->pCurDqLayer, pCurSlice, iSliceIdx);
641638 if (ENC_RETURN_SUCCESS != iReturn) {
642639 uiThrdRet = iReturn;
@@ -653,7 +650,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 10 unmodified lines
653650 iEventIdx);
654651 }
655652
656− assert (iSliceIdx == (int) pSlice->uiSliceIdx);
653+ assert (iSliceIdx == pSlice->iSliceIdx);
657654 iReturn = WelsCodeOneSlice (pEncPEncCtx, pSlice, eNalType);
658655 if (ENC_RETURN_SUCCESS != iReturn) {
659656 uiThrdRet = iReturn;
@@ -677,7 +674,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 17 unmodified lines
677674 if (bDsaFlag) {
678675 pSlice->uiSliceConsumeTime = (uint32_t) (WelsTime() - iSliceStart);
679676 MT_TRACE_LOG (& (pEncPEncCtx->sLogCtx), WELS_LOG_INFO,
680− "[MT] CodingSliceThreadProc(), coding_idx %d, uiSliceIdx %d, uiSliceConsumeTime %d, iSliceSize %d, iFirstMbInSlice %d, count_num_mb_in_slice %d",
677+ "[MT] CodingSliceThreadProc(), coding_idx %d, iSliceIdx %d, uiSliceConsumeTime %d, iSliceSize %d, iFirstMbInSlice %d, count_num_mb_in_slice %d",
681678 pEncPEncCtx->iCodingIndex, iSliceIdx,
682679 pSlice->uiSliceConsumeTime, iSliceSize,
683680 pSlice->sSliceHeaderExt.sSliceHeader.iFirstMbInSlice,
@@ -750,7 +747,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 66 unmodified lines
750747
751748 WelsLoadNalForSlice (pSliceBs, eNalType, eNalRefIdc);
752749
753− assert (iSliceIdx == (int) pSlice->uiSliceIdx);
750+ assert (iSliceIdx == pSlice->iSliceIdx);
754751 iReturn = WelsCodeOneSlice (pEncPEncCtx, pSlice, eNalType);
755752 if (ENC_RETURN_SUCCESS != iReturn) {
756753 uiThrdRet = iReturn;
@@ -786,8 +783,8 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 29 unmodified lines
786783 );
787784 #endif//SLICE_INFO_OUTPUT
788785
789− MT_TRACE_LOG (& (pEncPEncCtx->sLogCtx), WELS_LOG_INFO,
790− "[MT] CodingSliceThreadProc(), coding_idx %d, iPartitionId %d, uiSliceIdx %d, iSliceSize %d, count_mb_slice %d, iEndMbInPartition %d, pCurDq->pLastCodedMbIdxOfPartition[%d] %d\n",
786+ MT_TRACE_LOG (&(pEncPEncCtx->sLogCtx), WELS_LOG_INFO,
787+ "[MT] CodingSliceThreadProc(), coding_idx %d, iPartitionId %d, iSliceIdx %d, iSliceSize %d, count_mb_slice %d, iEndMbInPartition %d, pCurDq->pLastCodedMbIdxOfPartition[%d] %d\n",
791788 pEncPEncCtx->iCodingIndex, kiPartitionId, iSliceIdx, iSliceSize,
792789 pSlice->iCountMbNumInSlice,
793790 kiEndMbIdxInPartition, kiPartitionId, pCurDq->pLastCodedMbIdxOfPartition[kiPartitionId]);

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