This avoids having an extra ifdef around every single WelsLog call.
Showing the changes to codec/encoder/core/src/slice_multi_threading.cpp (1 of 1 file). Show all
Unified · Split
| @@ -63,6 +63,13 @@ · 62 unmodified lines | |||
| 63 | #include "cpu.h" | 63 | #include "cpu.h" |
| 64 | 64 | ||
| 65 | #include "measure_time.h" | 65 | #include "measure_time.h" |
| 66 | |||
| 67 | #if defined(ENABLE_TRACE_MT) | ||
| 68 | #define MT_TRACE_LOG(x, ...) WelsLog(x, __VA_ARGS__) | ||
| 69 | #else | ||
| 70 | #define MT_TRACE_LOG(x, ...) | ||
| 71 | #endif | ||
| 72 | |||
| 66 | namespace WelsSVCEnc { | 73 | namespace WelsSVCEnc { |
| 67 | void UpdateMbListNeighborParallel (SSliceCtx* pSliceCtx, | 74 | void UpdateMbListNeighborParallel (SSliceCtx* pSliceCtx, |
| 68 | SMB* pMbList, | 75 | SMB* pMbList, |
| @@ -126,10 +133,8 @@ void CalcSliceComplexRatio (void* pRatio, SSliceCtx* pSliceCtx, uint32_t* pSlice · 57 unmodified lines | |||
| 126 | 133 | ||
| 127 | while (iSliceIdx < kiSliceCount) { | 134 | while (iSliceIdx < kiSliceCount) { |
| 128 | fAvI[iSliceIdx] = 1.0f * pCountMbInSlice[iSliceIdx] / pSliceTime[iSliceIdx]; | 135 | fAvI[iSliceIdx] = 1.0f * pCountMbInSlice[iSliceIdx] / pSliceTime[iSliceIdx]; |
| 129 | #if defined(ENABLE_TRACE_MT) | 136 | MT_TRACE_LOG (NULL, WELS_LOG_DEBUG, "[MT] CalcSliceComplexRatio(), pSliceConsumeTime[%d]= %d us, slice_run= %d\n", iSliceIdx, |
| 130 | WelsLog (NULL, WELS_LOG_DEBUG, "[MT] CalcSliceComplexRatio(), pSliceConsumeTime[%d]= %d us, slice_run= %d\n", iSliceIdx, | 137 | pSliceTime[iSliceIdx], pCountMbInSlice[iSliceIdx]); |
| 131 | pSliceTime[iSliceIdx], pCountMbInSlice[iSliceIdx]); | ||
| 132 | #endif//ENABLE_TRACE_MT | ||
| 133 | fSumAv += fAvI[iSliceIdx]; | 138 | fSumAv += fAvI[iSliceIdx]; |
| 134 | 139 | ||
| 135 | ++ iSliceIdx; | 140 | ++ iSliceIdx; |
| @@ -153,10 +158,8 @@ int32_t NeedDynamicAdjust (void* pConsumeTime, const int32_t iSliceNum) { · 17 unmodified lines | |||
| 153 | iSliceIdx += 2; | 158 | iSliceIdx += 2; |
| 154 | } | 159 | } |
| 155 | if (uiTotalConsume == 0) { | 160 | if (uiTotalConsume == 0) { |
| 156 | #if defined(ENABLE_TRACE_MT) | 161 | MT_TRACE_LOG (NULL, WELS_LOG_DEBUG, "[MT] NeedDynamicAdjust(), herein do no adjust due first picture, iCountSliceNum= %d\n", |
| 157 | WelsLog (NULL, WELS_LOG_DEBUG, "[MT] NeedDynamicAdjust(), herein do no adjust due first picture, iCountSliceNum= %d\n", | 162 | iSliceNum); |
| 158 | iSliceNum); | ||
| 159 | #endif//ENABLE_TRACE_MT | ||
| 160 | return false; | 163 | return false; |
| 161 | } | 164 | } |
| 162 | 165 | ||
| @@ -181,11 +184,9 @@ int32_t NeedDynamicAdjust (void* pConsumeTime, const int32_t iSliceNum) { · 18 unmodified lines | |||
| 181 | fThr = 1.0f; | 184 | fThr = 1.0f; |
| 182 | if (fRmse > fThr) | 185 | if (fRmse > fThr) |
| 183 | iNeedAdj = true; | 186 | iNeedAdj = true; |
| 184 | #if defined(ENABLE_TRACE_MT) | 187 | MT_TRACE_LOG (NULL, WELS_LOG_DEBUG, |
| 185 | WelsLog (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", |
| 186 | "[MT] NeedDynamicAdjust(), herein adjustment decision is made (iNeedAdj= %d) by: fRmse of pSlice complexity ratios %.6f, the corresponding threshold %.6f, iCountSliceNum %d\n", | 189 | iNeedAdj, fRmse, fThr, iSliceNum); |
| 187 | iNeedAdj, fRmse, fThr, iSliceNum); | ||
| 188 | #endif//ENABLE_TRACE_MT | ||
| 189 | 190 | ||
| 190 | return iNeedAdj; | 191 | return iNeedAdj; |
| 191 | } | 192 | } |
| @@ -232,9 +233,7 @@ void DynamicAdjustSlicing (sWelsEncCtx* pCtx, · 40 unmodified lines | |||
| 232 | 233 | ||
| 233 | WelsEmms(); | 234 | WelsEmms(); |
| 234 | 235 | ||
| 235 | #if defined(ENABLE_TRACE_MT) | 236 | MT_TRACE_LOG (pCtx, WELS_LOG_DEBUG, "[MT] DynamicAdjustSlicing(), iDid= %d, iCountNumMb= %d\n", iCurDid, kiCountNumMb); |
| 236 | WelsLog (pCtx, WELS_LOG_DEBUG, "[MT] DynamicAdjustSlicing(), iDid= %d, iCountNumMb= %d\n", iCurDid, kiCountNumMb); | ||
| 237 | #endif//ENABLE_TRACE_MT | ||
| 238 | 237 | ||
| 239 | iSliceIdx = 0; | 238 | iSliceIdx = 0; |
| 240 | while (iSliceIdx + 1 < kiCountSliceNum) { | 239 | while (iSliceIdx + 1 < kiCountSliceNum) { |
| @@ -259,20 +258,16 @@ void DynamicAdjustSlicing (sWelsEncCtx* pCtx, · 18 unmodified lines | |||
| 259 | return; | 258 | return; |
| 260 | } | 259 | } |
| 261 | iRunLen[iSliceIdx] = iNumMbAssigning; | 260 | iRunLen[iSliceIdx] = iNumMbAssigning; |
| 262 | #if defined(ENABLE_TRACE_MT) | 261 | MT_TRACE_LOG (pCtx, WELS_LOG_DEBUG, |
| 263 | WelsLog (pCtx, WELS_LOG_DEBUG, | ||
| 264 | "[MT] DynamicAdjustSlicing(), uiSliceIdx= %d, pSliceComplexRatio= %.2f, slice_run_org= %d, slice_run_adj= %d\n", | 262 | "[MT] DynamicAdjustSlicing(), uiSliceIdx= %d, pSliceComplexRatio= %.2f, slice_run_org= %d, slice_run_adj= %d\n", |
| 265 | iSliceIdx, pSliceComplexRatio[iSliceIdx], pSliceCtx->pCountMbNumInSlice[iSliceIdx], iNumMbAssigning); | 263 | iSliceIdx, pSliceComplexRatio[iSliceIdx], pSliceCtx->pCountMbNumInSlice[iSliceIdx], iNumMbAssigning); |
| 266 | #endif//ENABLE_TRACE_MT | ||
| 267 | ++ iSliceIdx; | 264 | ++ iSliceIdx; |
| 268 | iMaximalMbNum = iMbNumLeft - (kiCountSliceNum - iSliceIdx - 1) * iMinimalMbNum; // get maximal num_mb in left parts | 265 | iMaximalMbNum = iMbNumLeft - (kiCountSliceNum - iSliceIdx - 1) * iMinimalMbNum; // get maximal num_mb in left parts |
| 269 | } | 266 | } |
| 270 | iRunLen[iSliceIdx] = iMbNumLeft; | 267 | iRunLen[iSliceIdx] = iMbNumLeft; |
| 271 | #if defined(ENABLE_TRACE_MT) | 268 | MT_TRACE_LOG (pCtx, WELS_LOG_DEBUG, |
| 272 | WelsLog (pCtx, WELS_LOG_DEBUG, | 269 | "[MT] DynamicAdjustSlicing(), iSliceIdx= %d, pSliceComplexRatio= %.2f, slice_run_org= %d, slice_run_adj= %d\n", |
| 273 | "[MT] DynamicAdjustSlicing(), iSliceIdx= %d, pSliceComplexRatio= %.2f, slice_run_org= %d, slice_run_adj= %d\n", | 270 | iSliceIdx, pSliceComplexRatio[iSliceIdx], pSliceCtx->pCountMbNumInSlice[iSliceIdx], iMbNumLeft); |
| 274 | iSliceIdx, pSliceComplexRatio[iSliceIdx], pSliceCtx->pCountMbNumInSlice[iSliceIdx], iMbNumLeft); | ||
| 275 | #endif//ENABLE_TRACE_MT | ||
| 276 | 271 | ||
| 277 | 272 | ||
| 278 | if (DynamicAdjustSlicePEncCtxAll (pSliceCtx, iRunLen) == 0) { | 273 | if (DynamicAdjustSlicePEncCtxAll (pSliceCtx, iRunLen) == 0) { |
| @@ -354,9 +349,7 @@ int32_t RequestMtResource (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPara · 75 unmodified lines | |||
| 354 | pSmt->pFSliceDiff = fopen ("slice_time.txt", "wt+"); | 349 | pSmt->pFSliceDiff = fopen ("slice_time.txt", "wt+"); |
| 355 | #endif//MT_DEBUG | 350 | #endif//MT_DEBUG |
| 356 | 351 | ||
| 357 | #if defined(ENABLE_TRACE_MT) | 352 | MT_TRACE_LOG ((*ppCtx), WELS_LOG_INFO, "encpEncCtx= 0x%p\n", (void*) (*ppCtx)); |
| 358 | WelsLog ((*ppCtx), WELS_LOG_INFO, "encpEncCtx= 0x%p\n", (void*) (*ppCtx)); | ||
| 359 | #endif//ENABLE_TRACE_MT | ||
| 360 | 353 | ||
| 361 | iIdx = 0; | 354 | iIdx = 0; |
| 362 | while (iIdx < iThreadNum) { | 355 | while (iIdx < iThreadNum) { |
| @@ -370,37 +363,25 @@ int32_t RequestMtResource (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPara · 7 unmodified lines | |||
| 370 | #ifdef _WIN32 | 363 | #ifdef _WIN32 |
| 371 | WelsSnprintf (name, SEM_NAME_MAX, "fs%d%s", iIdx, pSmt->eventNamespace); | 364 | WelsSnprintf (name, SEM_NAME_MAX, "fs%d%s", iIdx, pSmt->eventNamespace); |
| 372 | err = WelsEventOpen (&pSmt->pFinSliceCodingEvent[iIdx], name); | 365 | err = WelsEventOpen (&pSmt->pFinSliceCodingEvent[iIdx], name); |
| 373 | #if defined(ENABLE_TRACE_MT) | 366 | MT_TRACE_LOG ((*ppCtx), WELS_LOG_INFO, "[MT] Open pFinSliceCodingEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); |
| 374 | WelsLog ((*ppCtx), WELS_LOG_INFO, "[MT] Open pFinSliceCodingEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); | ||
| 375 | #endif | ||
| 376 | WelsSnprintf (name, SEM_NAME_MAX, "ee%d%s", iIdx, pSmt->eventNamespace); | 367 | WelsSnprintf (name, SEM_NAME_MAX, "ee%d%s", iIdx, pSmt->eventNamespace); |
| 377 | err = WelsEventOpen (&pSmt->pExitEncodeEvent[iIdx], name); | 368 | err = WelsEventOpen (&pSmt->pExitEncodeEvent[iIdx], name); |
| 378 | #if defined(ENABLE_TRACE_MT) | 369 | MT_TRACE_LOG ((*ppCtx), WELS_LOG_INFO, "[MT] Open pExitEncodeEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); |
| 379 | WelsLog ((*ppCtx), WELS_LOG_INFO, "[MT] Open pExitEncodeEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); | ||
| 380 | #endif | ||
| 381 | #endif//_WIN32 | 370 | #endif//_WIN32 |
| 382 | // length of semaphore name should be system constrained at least on mac 10.7 | 371 | // length of semaphore name should be system constrained at least on mac 10.7 |
| 383 | WelsSnprintf (name, SEM_NAME_MAX, "ud%d%s", iIdx, pSmt->eventNamespace); | 372 | WelsSnprintf (name, SEM_NAME_MAX, "ud%d%s", iIdx, pSmt->eventNamespace); |
| 384 | err = WelsEventOpen (&pSmt->pUpdateMbListEvent[iIdx], name); | 373 | err = WelsEventOpen (&pSmt->pUpdateMbListEvent[iIdx], name); |
| 385 | #if defined(ENABLE_TRACE_MT) | 374 | MT_TRACE_LOG ((*ppCtx), WELS_LOG_INFO, "[MT] Open pUpdateMbListEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); |
| 386 | WelsLog ((*ppCtx), WELS_LOG_INFO, "[MT] Open pUpdateMbListEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); | ||
| 387 | #endif | ||
| 388 | WelsSnprintf (name, SEM_NAME_MAX, "fu%d%s", iIdx, pSmt->eventNamespace); | 375 | WelsSnprintf (name, SEM_NAME_MAX, "fu%d%s", iIdx, pSmt->eventNamespace); |
| 389 | err = WelsEventOpen (&pSmt->pFinUpdateMbListEvent[iIdx], name); | 376 | err = WelsEventOpen (&pSmt->pFinUpdateMbListEvent[iIdx], name); |
| 390 | #if defined(ENABLE_TRACE_MT) | 377 | MT_TRACE_LOG ((*ppCtx), WELS_LOG_INFO, "[MT] Open pFinUpdateMbListEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); |
| 391 | WelsLog ((*ppCtx), WELS_LOG_INFO, "[MT] Open pFinUpdateMbListEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); | ||
| 392 | #endif | ||
| 393 | WelsSnprintf (name, SEM_NAME_MAX, "sc%d%s", iIdx, pSmt->eventNamespace); | 378 | WelsSnprintf (name, SEM_NAME_MAX, "sc%d%s", iIdx, pSmt->eventNamespace); |
| 394 | err = WelsEventOpen (&pSmt->pSliceCodedEvent[iIdx], name); | 379 | err = WelsEventOpen (&pSmt->pSliceCodedEvent[iIdx], name); |
| 395 | #if defined(ENABLE_TRACE_MT) | 380 | MT_TRACE_LOG ((*ppCtx), WELS_LOG_INFO, "[MT] Open pSliceCodedEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); |
| 396 | WelsLog ((*ppCtx), WELS_LOG_INFO, "[MT] Open pSliceCodedEvent%d named(%s) ret%d err%d\n", iIdx, name, err, errno); | ||
| 397 | #endif | ||
| 398 | WelsSnprintf (name, SEM_NAME_MAX, "rc%d%s", iIdx, pSmt->eventNamespace); | 381 | WelsSnprintf (name, SEM_NAME_MAX, "rc%d%s", iIdx, pSmt->eventNamespace); |
| 399 | err = WelsEventOpen (&pSmt->pReadySliceCodingEvent[iIdx], name); | 382 | err = WelsEventOpen (&pSmt->pReadySliceCodingEvent[iIdx], name); |
| 400 | #if defined(ENABLE_TRACE_MT) | 383 | MT_TRACE_LOG ((*ppCtx), WELS_LOG_INFO, "[MT] Open pReadySliceCodingEvent%d = 0x%p named(%s) ret%d err%d\n", iIdx, |
| 401 | WelsLog ((*ppCtx), WELS_LOG_INFO, "[MT] Open pReadySliceCodingEvent%d = 0x%p named(%s) ret%d err%d\n", iIdx, | 384 | (void*)pSmt->pReadySliceCodingEvent[iIdx], name, err, errno); |
| 402 | (void*)pSmt->pReadySliceCodingEvent[iIdx], name, err, errno); | ||
| 403 | #endif | ||
| 404 | 385 | ||
| 405 | ++ iIdx; | 386 | ++ iIdx; |
| 406 | } | 387 | } |
| @@ -436,10 +417,8 @@ int32_t RequestMtResource (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPara · 29 unmodified lines | |||
| 436 | iReturn = WelsMutexInit (&(*ppCtx)->mutexEncoderError); | 417 | iReturn = WelsMutexInit (&(*ppCtx)->mutexEncoderError); |
| 437 | WELS_VERIFY_RETURN_PROC_IF (1, (WELS_THREAD_ERROR_OK != iReturn), FreeMemorySvc (ppCtx)) | 418 | WELS_VERIFY_RETURN_PROC_IF (1, (WELS_THREAD_ERROR_OK != iReturn), FreeMemorySvc (ppCtx)) |
| 438 | 419 | ||
| 439 | #if defined(ENABLE_TRACE_MT) | 420 | MT_TRACE_LOG ((*ppCtx), WELS_LOG_INFO, "RequestMtResource(), iThreadNum=%d, iCountSliceNum= %d\n", pPara->iCountThreadsNum, |
| 440 | WelsLog ((*ppCtx), WELS_LOG_INFO, "RequestMtResource(), iThreadNum=%d, iCountSliceNum= %d\n", pPara->iCountThreadsNum, | 421 | iMaxSliceNum); |
| 441 | iMaxSliceNum); | ||
| 442 | #endif | ||
| 443 | 422 | ||
| 444 | return 0; | 423 | return 0; |
| 445 | } | 424 | } |
| @@ -708,10 +687,8 @@ WELS_THREAD_ROUTINE_TYPE UpdateMbListThreadProc (void* arg) { · 262 unmodified lines | |||
| 708 | iEventIdx = pPrivateData->iThreadIndex; | 687 | iEventIdx = pPrivateData->iThreadIndex; |
| 709 | 688 | ||
| 710 | do { | 689 | do { |
| 711 | #if defined(ENABLE_TRACE_MT) | 690 | MT_TRACE_LOG (pEncPEncCtx, WELS_LOG_INFO, "[MT] UpdateMbListThreadProc(), try to wait (pUpdateMbListEvent[%d])!\n", |
| 712 | WelsLog (pEncPEncCtx, WELS_LOG_INFO, "[MT] UpdateMbListThreadProc(), try to wait (pUpdateMbListEvent[%d])!\n", | 691 | iEventIdx); |
| 713 | iEventIdx); | ||
| 714 | #endif | ||
| 715 | iWaitRet = WelsEventWait (&pEncPEncCtx->pSliceThreading->pUpdateMbListEvent[iEventIdx]); | 692 | iWaitRet = WelsEventWait (&pEncPEncCtx->pSliceThreading->pUpdateMbListEvent[iEventIdx]); |
| 716 | if (WELS_THREAD_ERROR_WAIT_OBJECT_0 == iWaitRet) { | 693 | if (WELS_THREAD_ERROR_WAIT_OBJECT_0 == iWaitRet) { |
| 717 | pCurDq = pEncPEncCtx->pCurDqLayer; | 694 | pCurDq = pEncPEncCtx->pCurDqLayer; |
| @@ -775,11 +752,9 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 57 unmodified lines | |||
| 775 | &pEventsList[0], | 752 | &pEventsList[0], |
| 776 | (uint32_t) - 1); // blocking until at least one event is | 753 | (uint32_t) - 1); // blocking until at least one event is |
| 777 | #else | 754 | #else |
| 778 | #if defined(ENABLE_TRACE_MT) | 755 | MT_TRACE_LOG (pEncPEncCtx, WELS_LOG_INFO, |
| 779 | WelsLog (pEncPEncCtx, WELS_LOG_INFO, | 756 | "[MT] CodingSliceThreadProc(), try to call WelsEventWait(pReadySliceCodingEvent[%d]= 0x%p), pEncPEncCtx= 0x%p!\n", |
| 780 | "[MT] CodingSliceThreadProc(), try to call WelsEventWait(pReadySliceCodingEvent[%d]= 0x%p), pEncPEncCtx= 0x%p!\n", | 757 | iEventIdx, (void*) (pEncPEncCtx->pSliceThreading->pReadySliceCodingEvent[iEventIdx]), (void*)pEncPEncCtx); |
| 781 | iEventIdx, (void*) (pEncPEncCtx->pSliceThreading->pReadySliceCodingEvent[iEventIdx]), (void*)pEncPEncCtx); | ||
| 782 | #endif | ||
| 783 | iWaitRet = WelsEventWait (&pEncPEncCtx->pSliceThreading->pReadySliceCodingEvent[iEventIdx]); | 758 | iWaitRet = WelsEventWait (&pEncPEncCtx->pSliceThreading->pReadySliceCodingEvent[iEventIdx]); |
| 784 | #endif//WIN32 | 759 | #endif//WIN32 |
| 785 | if (WELS_THREAD_ERROR_WAIT_OBJECT_0 == iWaitRet) { // start pSlice coding signal waited | 760 | if (WELS_THREAD_ERROR_WAIT_OBJECT_0 == iWaitRet) { // start pSlice coding signal waited |
| @@ -867,13 +842,11 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 81 unmodified lines | |||
| 867 | if (bDsaFlag) { | 842 | if (bDsaFlag) { |
| 868 | pEncPEncCtx->pSliceThreading->pSliceConsumeTime[pEncPEncCtx->uiDependencyId][iSliceIdx] = (uint32_t) ( | 843 | pEncPEncCtx->pSliceThreading->pSliceConsumeTime[pEncPEncCtx->uiDependencyId][iSliceIdx] = (uint32_t) ( |
| 869 | WelsTime() - iSliceStart); | 844 | WelsTime() - iSliceStart); |
| 870 | #if defined(ENABLE_TRACE_MT) | 845 | MT_TRACE_LOG (pEncPEncCtx, WELS_LOG_INFO, |
| 871 | WelsLog (pEncPEncCtx, WELS_LOG_INFO, | 846 | "[MT] CodingSliceThreadProc(), coding_idx %d, uiSliceIdx %d, pSliceConsumeTime %d, iSliceSize %d, pFirstMbInSlice %d, count_num_mb_in_slice %d\n", |
| 872 | "[MT] CodingSliceThreadProc(), coding_idx %d, uiSliceIdx %d, pSliceConsumeTime %d, iSliceSize %d, pFirstMbInSlice %d, count_num_mb_in_slice %d\n", | 847 | pEncPEncCtx->iCodingIndex, iSliceIdx, |
| 873 | pEncPEncCtx->iCodingIndex, iSliceIdx, | 848 | pEncPEncCtx->pSliceThreading->pSliceConsumeTime[pEncPEncCtx->uiDependencyId][iSliceIdx], iSliceSize, |
| 874 | pEncPEncCtx->pSliceThreading->pSliceConsumeTime[pEncPEncCtx->uiDependencyId][iSliceIdx], iSliceSize, | 849 | pCurDq->pSliceEncCtx->pFirstMbInSlice[iSliceIdx], pCurDq->pSliceEncCtx->pCountMbNumInSlice[iSliceIdx]); |
| 875 | pCurDq->pSliceEncCtx->pFirstMbInSlice[iSliceIdx], pCurDq->pSliceEncCtx->pCountMbNumInSlice[iSliceIdx]); | ||
| 876 | #endif//ENABLE_TRACE_MT | ||
| 877 | } | 850 | } |
| 878 | 851 | ||
| 879 | #if defined(SLICE_INFO_OUTPUT) | 852 | #if defined(SLICE_INFO_OUTPUT) |
| @@ -982,12 +955,10 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 102 unmodified lines | |||
| 982 | ); | 955 | ); |
| 983 | #endif//SLICE_INFO_OUTPUT | 956 | #endif//SLICE_INFO_OUTPUT |
| 984 | 957 | ||
| 985 | #if defined(ENABLE_TRACE_MT) | 958 | MT_TRACE_LOG (pEncPEncCtx, WELS_LOG_INFO, |
| 986 | WelsLog (pEncPEncCtx, WELS_LOG_INFO, | 959 | "[MT] CodingSliceThreadProc(), coding_idx %d, iPartitionId %d, uiSliceIdx %d, iSliceSize %d, count_mb_slice %d, iEndMbInPartition %d, pCurDq->pLastCodedMbIdxOfPartition[%d] %d\n", |
| 987 | "[MT] CodingSliceThreadProc(), coding_idx %d, iPartitionId %d, uiSliceIdx %d, iSliceSize %d, count_mb_slice %d, iEndMbInPartition %d, pCurDq->pLastCodedMbIdxOfPartition[%d] %d\n", | 960 | pEncPEncCtx->iCodingIndex, kiPartitionId, iSliceIdx, iSliceSize, pCurDq->pSliceEncCtx->pCountMbNumInSlice[iSliceIdx], |
| 988 | pEncPEncCtx->iCodingIndex, kiPartitionId, iSliceIdx, iSliceSize, pCurDq->pSliceEncCtx->pCountMbNumInSlice[iSliceIdx], | 961 | kiEndMbInPartition, kiPartitionId, pCurDq->pLastCodedMbIdxOfPartition[kiPartitionId]); |
| 989 | kiEndMbInPartition, kiPartitionId, pCurDq->pLastCodedMbIdxOfPartition[kiPartitionId]); | ||
| 990 | #endif//ENABLE_TRACE_MT | ||
| 991 | 962 | ||
| 992 | iAnyMbLeftInPartition = kiEndMbInPartition - (1 + pCurDq->pLastCodedMbIdxOfPartition[kiPartitionId]); | 963 | iAnyMbLeftInPartition = kiEndMbInPartition - (1 + pCurDq->pLastCodedMbIdxOfPartition[kiPartitionId]); |
| 993 | iSliceIdx += kiSliceIdxStep; | 964 | iSliceIdx += kiSliceIdxStep; |
| @@ -1070,9 +1041,7 @@ int32_t CreateSliceThreads (sWelsEncCtx* pCtx) { · 76 unmodified lines | |||
| 1070 | 1041 | ||
| 1071 | ++ iIdx; | 1042 | ++ iIdx; |
| 1072 | } | 1043 | } |
| 1073 | #if defined(ENABLE_TRACE_MT) | 1044 | MT_TRACE_LOG (pCtx, WELS_LOG_INFO, "CreateSliceThreads() exit..\n"); |
| 1074 | WelsLog (pCtx, WELS_LOG_INFO, "CreateSliceThreads() exit..\n"); | ||
| 1075 | #endif | ||
| 1076 | return 0; | 1045 | return 0; |
| 1077 | } | 1046 | } |
| 1078 | 1047 | ||