Showing the changes to codec/encoder/core/src/wels_task_encoder.cpp (1 of 7 files). Show all
Unified · Split
| @@ -99,6 +99,10 @@ WelsErrorType CWelsSliceEncodingTask::InitTask() { · 98 unmodified lines | |||
| 99 | WelsMutexLock (&m_pCtx->pSliceThreading->mutexThreadBsBufferUsage); | 99 | WelsMutexLock (&m_pCtx->pSliceThreading->mutexThreadBsBufferUsage); |
| 100 | m_iThreadIdx = QueryEmptyThread (m_pCtx->pSliceThreading->bThreadBsBufferUsage); | 100 | m_iThreadIdx = QueryEmptyThread (m_pCtx->pSliceThreading->bThreadBsBufferUsage); |
| 101 | WelsMutexUnlock (&m_pCtx->pSliceThreading->mutexThreadBsBufferUsage); | 101 | WelsMutexUnlock (&m_pCtx->pSliceThreading->mutexThreadBsBufferUsage); |
| 102 | |||
| 103 | WelsLog (&m_pCtx->sLogCtx, WELS_LOG_DEBUG, | ||
| 104 | "[MT] CWelsSliceEncodingTask()InitTask for m_iSliceIdx %d, lock thread %d", | ||
| 105 | m_iSliceIdx, m_iThreadIdx); | ||
| 102 | if (m_iThreadIdx < 0) { | 106 | if (m_iThreadIdx < 0) { |
| 103 | WelsLog (&m_pCtx->sLogCtx, WELS_LOG_WARNING, | 107 | WelsLog (&m_pCtx->sLogCtx, WELS_LOG_WARNING, |
| 104 | "[MT] CWelsSliceEncodingTask InitTask(), Cannot find available thread for m_iSliceIdx = %d", m_iSliceIdx); | 108 | "[MT] CWelsSliceEncodingTask InitTask(), Cannot find available thread for m_iSliceIdx = %d", m_iSliceIdx); |
| @@ -123,6 +127,10 @@ void CWelsSliceEncodingTask::FinishTask() { · 18 unmodified lines | |||
| 123 | WelsMutexLock (&m_pCtx->pSliceThreading->mutexThreadBsBufferUsage); | 127 | WelsMutexLock (&m_pCtx->pSliceThreading->mutexThreadBsBufferUsage); |
| 124 | m_pCtx->pSliceThreading->bThreadBsBufferUsage[m_iThreadIdx] = false; | 128 | m_pCtx->pSliceThreading->bThreadBsBufferUsage[m_iThreadIdx] = false; |
| 125 | WelsMutexUnlock (&m_pCtx->pSliceThreading->mutexThreadBsBufferUsage); | 129 | WelsMutexUnlock (&m_pCtx->pSliceThreading->mutexThreadBsBufferUsage); |
| 130 | |||
| 131 | WelsLog (&m_pCtx->sLogCtx, WELS_LOG_DEBUG, | ||
| 132 | "[MT] CWelsSliceEncodingTask()FinishTask for m_iSliceIdx %d, unlock thread %d", | ||
| 133 | m_iSliceIdx, m_iThreadIdx); | ||
| 126 | } | 134 | } |
| 127 | 135 | ||
| 128 | WelsErrorType CWelsSliceEncodingTask::ExecuteTask() { | 136 | WelsErrorType CWelsSliceEncodingTask::ExecuteTask() { |
| @@ -199,6 +207,10 @@ WelsErrorType CWelsLoadBalancingSlicingEncodingTask::InitTask() { · 70 unmodified lines | |||
| 199 | } | 207 | } |
| 200 | 208 | ||
| 201 | m_iSliceStart = WelsTime(); | 209 | m_iSliceStart = WelsTime(); |
| 210 | WelsLog (&m_pCtx->sLogCtx, WELS_LOG_DEBUG, | ||
| 211 | "[MT] CWelsLoadBalancingSlicingEncodingTask()InitTask for m_iSliceIdx %d at %" PRId64, | ||
| 212 | m_iSliceIdx, m_iSliceStart); | ||
| 213 | |||
| 202 | return ENC_RETURN_SUCCESS; | 214 | return ENC_RETURN_SUCCESS; |
| 203 | } | 215 | } |
| 204 | 216 | ||
| @@ -207,7 +219,7 @@ void CWelsLoadBalancingSlicingEncodingTask::FinishTask() { · 2 unmodified lines | |||
| 207 | 219 | ||
| 208 | m_pCtx->pSliceThreading->pSliceConsumeTime[m_uiDependencyId][m_iSliceIdx] = (uint32_t) (WelsTime() - m_iSliceStart); | 220 | m_pCtx->pSliceThreading->pSliceConsumeTime[m_uiDependencyId][m_iSliceIdx] = (uint32_t) (WelsTime() - m_iSliceStart); |
| 209 | WelsLog (&m_pCtx->sLogCtx, WELS_LOG_DEBUG, | 221 | WelsLog (&m_pCtx->sLogCtx, WELS_LOG_DEBUG, |
| 210 | "[MT] CodingSliceThreadProc(), coding_idx %d, um_iSliceIdx %d, pSliceConsumeTime %d, iSliceSize %d, pFirstMbInSlice %d, count_num_mb_in_slice %d", | 222 | "[MT] CWelsLoadBalancingSlicingEncodingTask()FinishTask, coding_idx %d, um_iSliceIdx %d, pSliceConsumeTime %d, iSliceSize %d, pFirstMbInSlice %d, count_num_mb_in_slice %d", |
| 211 | m_pCtx->iCodingIndex, | 223 | m_pCtx->iCodingIndex, |
| 212 | m_iSliceIdx, | 224 | m_iSliceIdx, |
| 213 | m_pCtx->pSliceThreading->pSliceConsumeTime[m_uiDependencyId][m_iSliceIdx], | 225 | m_pCtx->pSliceThreading->pSliceConsumeTime[m_uiDependencyId][m_iSliceIdx], |