add return value processing

This commit is contained in:
ruil2
2014-11-13 13:26:14 +08:00
parent 128546b992
commit 66165a65d5
2 changed files with 12 additions and 4 deletions

View File

@@ -2086,9 +2086,14 @@ int32_t WelsInitEncoderExt (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPar
return iRet; return iRet;
} }
if (pCodingParam->iMultipleThreadIdc > 1) if (pCodingParam->iMultipleThreadIdc > 1) {
iRet = CreateSliceThreads (pCtx); iRet = CreateSliceThreads (pCtx);
if (iRet != 0) {
WelsLog (pLogCtx, WELS_LOG_ERROR, "WelsInitEncoderExt(), CreateSliceThreads failed return %d.", iRet);
FreeMemorySvc (&pCtx);
return iRet;
}
}
if (pCodingParam->iEntropyCodingModeFlag) if (pCodingParam->iEntropyCodingModeFlag)
WelsCabacInit (pCtx); WelsCabacInit (pCtx);
WelsRcInitModule (pCtx, pCtx->pSvcParam->iRCMode); WelsRcInitModule (pCtx, pCtx->pSvcParam->iRCMode);

View File

@@ -963,8 +963,11 @@ int32_t CreateSliceThreads (sWelsEncCtx* pCtx) {
int32_t iIdx = 0; int32_t iIdx = 0;
while (iIdx < kiThreadCount) { while (iIdx < kiThreadCount) {
WelsThreadCreate (&pCtx->pSliceThreading->pThreadHandles[iIdx], CodingSliceThreadProc, if (WelsThreadCreate (&pCtx->pSliceThreading->pThreadHandles[iIdx], CodingSliceThreadProc,
&pCtx->pSliceThreading->pThreadPEncCtx[iIdx], 0); &pCtx->pSliceThreading->pThreadPEncCtx[iIdx], 0)) {
return 1;
}
++ iIdx; ++ iIdx;
} }