Showing the changes to codec/encoder/core/src/slice_multi_threading.cpp (1 of 16 files). Show all
Unified · Split
| @@ -132,7 +132,7 @@ void CalcSliceComplexRatio (void* pRatio, SSliceCtx* pSliceCtx, uint32_t* pSlice · 131 unmodified lines | ||
| 132 | 132 | |
| 133 | 133 | while (iSliceIdx < kiSliceCount) { |
| 134 | 134 | iAvI[iSliceIdx] = WELS_DIV_ROUND (INT_MULTIPLY * pCountMbInSlice[iSliceIdx], pSliceTime[iSliceIdx]); |
| 135 | − MT_TRACE_LOG (NULL, WELS_LOG_DEBUG, "[MT] CalcSliceComplexRatio(), pSliceConsumeTime[%d]= %d us, slice_run= %d\n", | |
| 135 | + MT_TRACE_LOG (NULL, WELS_LOG_DEBUG, "[MT] CalcSliceComplexRatio(), pSliceConsumeTime[%d]= %d us, slice_run= %d", | |
| 136 | 136 | iSliceIdx, |
| 137 | 137 | pSliceTime[iSliceIdx], pCountMbInSlice[iSliceIdx]); |
| 138 | 138 | iSumAv += iAvI[iSliceIdx]; |
| @@ -158,7 +158,7 @@ int32_t NeedDynamicAdjust (void* pConsumeTime, const int32_t iSliceNum) { · 19 unmodified lines | ||
| 158 | 158 | } |
| 159 | 159 | if (uiTotalConsume == 0) { |
| 160 | 160 | MT_TRACE_LOG (NULL, WELS_LOG_DEBUG, |
| 161 | − "[MT] NeedDynamicAdjust(), herein do no adjust due first picture, iCountSliceNum= %d\n", | |
| 161 | + "[MT] NeedDynamicAdjust(), herein do no adjust due first picture, iCountSliceNum= %d", | |
| 162 | 162 | iSliceNum); |
| 163 | 163 | return false; |
| 164 | 164 | } |
| @@ -185,7 +185,7 @@ int32_t NeedDynamicAdjust (void* pConsumeTime, const int32_t iSliceNum) { · 20 unmodified lines | ||
| 185 | 185 | if (fRmse > fThr) |
| 186 | 186 | iNeedAdj = true; |
| 187 | 187 | MT_TRACE_LOG (NULL, WELS_LOG_DEBUG, |
| 188 | − "[MT] NeedDynamicAdjust(), herein adjustment decision is made (iNeedAdj= %d) by: fRmse of pSlice complexity ratios %.6f, the corresponding threshold %.6f, iCountSliceNum %d\n", | |
| 188 | + "[MT] NeedDynamicAdjust(), herein adjustment decision is made (iNeedAdj= %d) by: fRmse of pSlice complexity ratios %.6f, the corresponding threshold %.6f, iCountSliceNum %d", | |
| 189 | 189 | iNeedAdj, fRmse, fThr, iSliceNum); |
| 190 | 190 | |
| 191 | 191 | return iNeedAdj; |
| @@ -212,7 +212,7 @@ void DynamicAdjustSlicing (sWelsEncCtx* pCtx, · 20 unmodified lines | ||
| 212 | 212 | |
| 213 | 213 | if (iNumMbInEachGom <= 0) { |
| 214 | 214 | WelsLog (& (pCtx->sLogCtx), WELS_LOG_ERROR, |
| 215 | − "[MT] DynamicAdjustSlicing(), invalid iNumMbInEachGom= %d from RC, iDid= %d, iCountNumMb= %d\n", iNumMbInEachGom, | |
| 215 | + "[MT] DynamicAdjustSlicing(), invalid iNumMbInEachGom= %d from RC, iDid= %d, iCountNumMb= %d", iNumMbInEachGom, | |
| 216 | 216 | iCurDid, kiCountNumMb); |
| 217 | 217 | return; |
| 218 | 218 | } |
| @@ -232,7 +232,7 @@ void DynamicAdjustSlicing (sWelsEncCtx* pCtx, · 13 unmodified lines | ||
| 232 | 232 | |
| 233 | 233 | WelsEmms(); |
| 234 | 234 | |
| 235 | − MT_TRACE_LOG (pCtx, WELS_LOG_DEBUG, "[MT] DynamicAdjustSlicing(), iDid= %d, iCountNumMb= %d\n", iCurDid, kiCountNumMb); | |
| 235 | + MT_TRACE_LOG (pCtx, WELS_LOG_DEBUG, "[MT] DynamicAdjustSlicing(), iDid= %d, iCountNumMb= %d", iCurDid, kiCountNumMb); | |
| 236 | 236 | |
| 237 | 237 | iSliceIdx = 0; |
| 238 | 238 | while (iSliceIdx + 1 < kiCountSliceNum) { |
| @@ -258,7 +258,7 @@ void DynamicAdjustSlicing (sWelsEncCtx* pCtx, · 19 unmodified lines | ||
| 258 | 258 | } |
| 259 | 259 | iRunLen[iSliceIdx] = iNumMbAssigning; |
| 260 | 260 | MT_TRACE_LOG (pCtx, WELS_LOG_DEBUG, |
| 261 | − "[MT] DynamicAdjustSlicing(), uiSliceIdx= %d, pSliceComplexRatio= %.2f, slice_run_org= %d, slice_run_adj= %d\n", | |
| 261 | + "[MT] DynamicAdjustSlicing(), uiSliceIdx= %d, pSliceComplexRatio= %.2f, slice_run_org= %d, slice_run_adj= %d", | |
| 262 | 262 | iSliceIdx, pSliceComplexRatio[iSliceIdx] * 1.0f / INT_MULTIPLY, pSliceCtx->pCountMbNumInSlice[iSliceIdx], |
| 263 | 263 | iNumMbAssigning); |
| 264 | 264 | ++ iSliceIdx; |
| @@ -266,7 +266,7 @@ void DynamicAdjustSlicing (sWelsEncCtx* pCtx, · 1 unmodified line | ||
| 266 | 266 | } |
| 267 | 267 | iRunLen[iSliceIdx] = iMbNumLeft; |
| 268 | 268 | MT_TRACE_LOG (pCtx, WELS_LOG_DEBUG, |
| 269 | − "[MT] DynamicAdjustSlicing(), iSliceIdx= %d, pSliceComplexRatio= %.2f, slice_run_org= %d, slice_run_adj= %d\n", | |
| 269 | + "[MT] DynamicAdjustSlicing(), iSliceIdx= %d, pSliceComplexRatio= %.2f, slice_run_org= %d, slice_run_adj= %d", | |
| 270 | 270 | iSliceIdx, pSliceComplexRatio[iSliceIdx] * 1.0f / INT_MULTIPLY, pSliceCtx->pCountMbNumInSlice[iSliceIdx], iMbNumLeft); |
| 271 | 271 | |
| 272 | 272 | |
| @@ -351,7 +351,7 @@ int32_t RequestMtResource (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPara · 78 unmodified lines | ||
| 351 | 351 | pSmt->pFSliceDiff = fopen ("slice_time.txt", "wt+"); |
| 352 | 352 | #endif//MT_DEBUG |
| 353 | 353 | |
| 354 | − MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "encpEncCtx= 0x%p\n", (void*) *ppCtx); | |
| 354 | + MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "encpEncCtx= 0x%p", (void*) *ppCtx); | |
| 355 | 355 | |
| 356 | 356 | char name[SEM_NAME_MAX] = {0}; |
| 357 | 357 | WELS_GCC_UNUSED WELS_THREAD_ERROR_CODE err = 0; |
| @@ -365,24 +365,24 @@ int32_t RequestMtResource (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPara · 7 unmodified lines | ||
| 365 | 365 | |
| 366 | 366 | WelsSnprintf (name, SEM_NAME_MAX, "ee%d%s", iIdx, pSmt->eventNamespace); |
| 367 | 367 | err = WelsEventOpen (&pSmt->pExitEncodeEvent[iIdx], name); |
| 368 | − MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pExitEncodeEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); | |
| 368 | + MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pExitEncodeEvent%d named(%s) ret%d err%d", iIdx, name, err, errno); | |
| 369 | 369 | WelsSnprintf (name, SEM_NAME_MAX, "tm%d%s", iIdx, pSmt->eventNamespace); |
| 370 | 370 | err = WelsEventOpen (&pSmt->pThreadMasterEvent[iIdx], name); |
| 371 | − MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pThreadMasterEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); | |
| 371 | + MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pThreadMasterEvent%d named(%s) ret%d err%d", iIdx, name, err, errno); | |
| 372 | 372 | // length of semaphore name should be system constrained at least on mac 10.7 |
| 373 | 373 | WelsSnprintf (name, SEM_NAME_MAX, "ud%d%s", iIdx, pSmt->eventNamespace); |
| 374 | 374 | err = WelsEventOpen (&pSmt->pUpdateMbListEvent[iIdx], name); |
| 375 | − MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pUpdateMbListEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); | |
| 375 | + MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pUpdateMbListEvent%d named(%s) ret%d err%d", iIdx, name, err, errno); | |
| 376 | 376 | WelsSnprintf (name, SEM_NAME_MAX, "fu%d%s", iIdx, pSmt->eventNamespace); |
| 377 | 377 | err = WelsEventOpen (&pSmt->pFinUpdateMbListEvent[iIdx], name); |
| 378 | − MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pFinUpdateMbListEvent%d named(%s) ret%d err%d\n", iIdx, name, err, | |
| 378 | + MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pFinUpdateMbListEvent%d named(%s) ret%d err%d", iIdx, name, err, | |
| 379 | 379 | errno); |
| 380 | 380 | WelsSnprintf (name, SEM_NAME_MAX, "sc%d%s", iIdx, pSmt->eventNamespace); |
| 381 | 381 | err = WelsEventOpen (&pSmt->pSliceCodedEvent[iIdx], name); |
| 382 | − MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pSliceCodedEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); | |
| 382 | + MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pSliceCodedEvent%d named(%s) ret%d err%d", iIdx, name, err, errno); | |
| 383 | 383 | WelsSnprintf (name, SEM_NAME_MAX, "rc%d%s", iIdx, pSmt->eventNamespace); |
| 384 | 384 | err = WelsEventOpen (&pSmt->pReadySliceCodingEvent[iIdx], name); |
| 385 | − MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pReadySliceCodingEvent%d = 0x%p named(%s) ret%d err%d\n", iIdx, | |
| 385 | + MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pReadySliceCodingEvent%d = 0x%p named(%s) ret%d err%d", iIdx, | |
| 386 | 386 | (void*)pSmt->pReadySliceCodingEvent[iIdx], name, err, errno); |
| 387 | 387 | |
| 388 | 388 | ++ iIdx; |
| @@ -390,7 +390,7 @@ int32_t RequestMtResource (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPara · 1 unmodified line | ||
| 390 | 390 | |
| 391 | 391 | WelsSnprintf (name, SEM_NAME_MAX, "scm%s", pSmt->eventNamespace); |
| 392 | 392 | err = WelsEventOpen (&pSmt->pSliceCodedMasterEvent, name); |
| 393 | − MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pSliceCodedMasterEvent named(%s) ret%d err%d\n", name, err, errno); | |
| 393 | + MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "[MT] Open pSliceCodedMasterEvent named(%s) ret%d err%d", name, err, errno); | |
| 394 | 394 | |
| 395 | 395 | (*ppCtx)->pSliceBs = (SWelsSliceBs*)pMa->WelsMalloc (sizeof (SWelsSliceBs) * iMaxSliceNum, "pSliceBs"); |
| 396 | 396 | WELS_VERIFY_RETURN_PROC_IF (1, (NULL == (*ppCtx)->pSliceBs), FreeMemorySvc (ppCtx)) |
| @@ -423,7 +423,7 @@ int32_t RequestMtResource (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPara · 26 unmodified lines | ||
| 423 | 423 | iReturn = WelsMutexInit (& (*ppCtx)->mutexEncoderError); |
| 424 | 424 | WELS_VERIFY_RETURN_PROC_IF (1, (WELS_THREAD_ERROR_OK != iReturn), FreeMemorySvc (ppCtx)) |
| 425 | 425 | |
| 426 | − MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "RequestMtResource(), iThreadNum=%d, iCountSliceNum= %d\n", | |
| 426 | + MT_TRACE_LOG (*ppCtx, WELS_LOG_INFO, "RequestMtResource(), iThreadNum=%d, iCountSliceNum= %d", | |
| 427 | 427 | pPara->iCountThreadsNum, |
| 428 | 428 | iMaxSliceNum); |
| 429 | 429 | |
| @@ -707,7 +707,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 277 unmodified lines | ||
| 707 | 707 | |
| 708 | 708 | do { |
| 709 | 709 | MT_TRACE_LOG (pEncPEncCtx, WELS_LOG_INFO, |
| 710 | − "[MT] CodingSliceThreadProc(), try to call WelsMultipleEventsWaitSingleBlocking(pEventsList= %p %p %p), pEncPEncCtx= %p!\n", | |
| 710 | + "[MT] CodingSliceThreadProc(), try to call WelsMultipleEventsWaitSingleBlocking(pEventsList= %p %p %p), pEncPEncCtx= %p!", | |
| 711 | 711 | pEventsList[0], pEventsList[1], pEventsList[1], (void*)pEncPEncCtx); |
| 712 | 712 | iWaitRet = WelsMultipleEventsWaitSingleBlocking (iEventCount, |
| 713 | 713 | &pEventsList[0], |
| @@ -799,7 +799,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 85 unmodified lines | ||
| 799 | 799 | pEncPEncCtx->pSliceThreading->pSliceConsumeTime[pEncPEncCtx->uiDependencyId][iSliceIdx] = (uint32_t) ( |
| 800 | 800 | WelsTime() - iSliceStart); |
| 801 | 801 | MT_TRACE_LOG (pEncPEncCtx, WELS_LOG_INFO, |
| 802 | − "[MT] CodingSliceThreadProc(), coding_idx %d, uiSliceIdx %d, pSliceConsumeTime %d, iSliceSize %d, pFirstMbInSlice %d, count_num_mb_in_slice %d\n", | |
| 802 | + "[MT] CodingSliceThreadProc(), coding_idx %d, uiSliceIdx %d, pSliceConsumeTime %d, iSliceSize %d, pFirstMbInSlice %d, count_num_mb_in_slice %d", | |
| 803 | 803 | pEncPEncCtx->iCodingIndex, iSliceIdx, |
| 804 | 804 | pEncPEncCtx->pSliceThreading->pSliceConsumeTime[pEncPEncCtx->uiDependencyId][iSliceIdx], iSliceSize, |
| 805 | 805 | pCurDq->pSliceEncCtx->pFirstMbInSlice[iSliceIdx], pCurDq->pSliceEncCtx->pCountMbNumInSlice[iSliceIdx]); |
| @@ -941,7 +941,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 135 unmodified lines | ||
| 941 | 941 | &pEncPEncCtx->pSliceThreading->pFinUpdateMbListEvent[iEventIdx]); // mean finished update pMb list for this pSlice |
| 942 | 942 | } else { // WELS_THREAD_ERROR_WAIT_TIMEOUT, or WELS_THREAD_ERROR_WAIT_FAILED |
| 943 | 943 | WelsLog (& (pEncPEncCtx->sLogCtx), WELS_LOG_WARNING, |
| 944 | − "[MT] CodingSliceThreadProc(), waiting pReadySliceCodingEvent[%d] failed(%d) and thread%d terminated!\n", iEventIdx, | |
| 944 | + "[MT] CodingSliceThreadProc(), waiting pReadySliceCodingEvent[%d] failed(%d) and thread%d terminated!", iEventIdx, | |
| 945 | 945 | iWaitRet, iThreadIdx); |
| 946 | 946 | uiThrdRet = 1; |
| 947 | 947 | break; |
| @@ -966,7 +966,7 @@ int32_t CreateSliceThreads (sWelsEncCtx* pCtx) { · 18 unmodified lines | ||
| 966 | 966 | |
| 967 | 967 | ++ iIdx; |
| 968 | 968 | } |
| 969 | − MT_TRACE_LOG (pCtx, WELS_LOG_INFO, "CreateSliceThreads() exit..\n"); | |
| 969 | + MT_TRACE_LOG (pCtx, WELS_LOG_INFO, "CreateSliceThreads() exit.."); | |
| 970 | 970 | return 0; |
| 971 | 971 | } |
| 972 | 972 | |
| @@ -979,7 +979,7 @@ int32_t FiredSliceThreads (sWelsEncCtx* pCtx, SSliceThreadPrivateData* pPriData, · 6 unmodified lines | ||
| 979 | 979 | |
| 980 | 980 | if (pPriData == NULL || pLbi == NULL || kiEventCnt <= 0 || pEventsList == NULL) { |
| 981 | 981 | WelsLog (& (pCtx->sLogCtx), WELS_LOG_ERROR, |
| 982 | − "FiredSliceThreads(), fail due pPriData == %p || pLbi == %p || iEventCnt(%d) <= 0 || pEventsList == %p!!\n", | |
| 982 | + "FiredSliceThreads(), fail due pPriData == %p || pLbi == %p || iEventCnt(%d) <= 0 || pEventsList == %p!!", | |
| 983 | 983 | (void*)pPriData, (void*)pLbi, uiNumThreads, (void*)pEventsList); |
| 984 | 984 | return 1; |
| 985 | 985 | } |