[Encoder] remove duplicated operation after thread pool
Showing the changes to codec/encoder/core/src/wels_task_management.cpp (1 of 7 files). Show all
Unified · Split
| @@ -99,7 +99,7 @@ WelsErrorType CWelsTaskManageBase::Init (sWelsEncCtx* pEncCtx) { · 98 unmodified lines | |||
| 99 | WELS_VERIFY_RETURN_IF (ENC_RETURN_MEMALLOCERR, NULL == m_pThreadPool) | 99 | WELS_VERIFY_RETURN_IF (ENC_RETURN_MEMALLOCERR, NULL == m_pThreadPool) |
| 100 | 100 | ||
| 101 | m_pcAllTaskList[CWelsBaseTask::WELS_ENC_TASK_ENCODING] = m_cEncodingTaskList; | 101 | m_pcAllTaskList[CWelsBaseTask::WELS_ENC_TASK_ENCODING] = m_cEncodingTaskList; |
| 102 | m_pcAllTaskList[CWelsBaseTask::WELS_ENC_TASK_PREENCODING] = m_cPreEncodingTaskList; | 102 | m_pcAllTaskList[CWelsBaseTask::WELS_ENC_TASK_UPDATEMBMAP] = m_cPreEncodingTaskList; |
| 103 | 103 | ||
| 104 | m_iCurrentTaskNum = pEncCtx->pSvcParam->sSpatialLayers[0].sSliceArgument.uiSliceNum; | 104 | m_iCurrentTaskNum = pEncCtx->pSvcParam->sSpatialLayers[0].sSliceArgument.uiSliceNum; |
| 105 | //printf ("CWelsTaskManageBase Init m_iThreadNum %d m_iCurrentTaskNum %d pEncCtx->iMaxSliceCount %d\n", m_iThreadNum, m_iCurrentTaskNum, pEncCtx->iMaxSliceCount); | 105 | //printf ("CWelsTaskManageBase Init m_iThreadNum %d m_iCurrentTaskNum %d pEncCtx->iMaxSliceCount %d\n", m_iThreadNum, m_iCurrentTaskNum, pEncCtx->iMaxSliceCount); |
| @@ -202,7 +202,9 @@ WelsErrorType CWelsTaskManageBase::ExecuteTaskList (TASKLIST_TYPE* pTargetTaskL · 96 unmodified lines | |||
| 202 | } | 202 | } |
| 203 | 203 | ||
| 204 | void CWelsTaskManageBase::InitFrame (const int32_t kiCurDid) { | 204 | void CWelsTaskManageBase::InitFrame (const int32_t kiCurDid) { |
| 205 | ExecuteTaskList (m_pcAllTaskList[CWelsBaseTask::WELS_ENC_TASK_PREENCODING]); | 205 | if (m_pEncCtx->pCurDqLayer->bNeedAdjustingSlicing) { |
| 206 | ExecuteTaskList (m_pcAllTaskList[CWelsBaseTask::WELS_ENC_TASK_UPDATEMBMAP]); | ||
| 207 | } | ||
| 206 | } | 208 | } |
| 207 | 209 | ||
| 208 | WelsErrorType CWelsTaskManageBase::ExecuteTasks (const CWelsBaseTask::ETaskType iTaskType) { | 210 | WelsErrorType CWelsTaskManageBase::ExecuteTasks (const CWelsBaseTask::ETaskType iTaskType) { |
| @@ -229,7 +231,9 @@ void CWelsTaskManageMultiD::InitFrame (const int32_t kiCurDid) { · 20 unmodified lines | |||
| 229 | //printf("CWelsTaskManageMultiD: InitFrame: m_iCurDid=%d, m_iCurrentTaskNum=%d\n", m_iCurDid, m_iCurrentTaskNum); | 231 | //printf("CWelsTaskManageMultiD: InitFrame: m_iCurDid=%d, m_iCurrentTaskNum=%d\n", m_iCurDid, m_iCurrentTaskNum); |
| 230 | m_iCurDid = kiCurDid; | 232 | m_iCurDid = kiCurDid; |
| 231 | m_iCurrentTaskNum = m_iTaskNumD[kiCurDid]; | 233 | m_iCurrentTaskNum = m_iTaskNumD[kiCurDid]; |
| 232 | ExecuteTaskList (m_pcAllTaskList[CWelsBaseTask::WELS_ENC_TASK_PREENCODING]); | 234 | if (m_pEncCtx->pCurDqLayer->bNeedAdjustingSlicing) { |
| 235 | ExecuteTaskList (m_pcAllTaskList[CWelsBaseTask::WELS_ENC_TASK_UPDATEMBMAP]); | ||
| 236 | } | ||
| 233 | } | 237 | } |
| 234 | 238 | ||
| 235 | WelsErrorType CWelsTaskManageMultiD::ExecuteTasks (const CWelsBaseTask::ETaskType iTaskType) { | 239 | WelsErrorType CWelsTaskManageMultiD::ExecuteTasks (const CWelsBaseTask::ETaskType iTaskType) { |