History

encoder interface update step1

ruil2 committed 12 years ago

Commit 35fa4291 parent 3ff7e3d20 files · +598 −501Browse files

Showing the changes to codec/encoder/core/src/slice_multi_threading.cpp (1 of 20 files). Show all

Unified · Split

codec/encoder/core/src/slice_multi_threading.cpp+13−11
@@ -353,7 +353,7 @@ int32_t RequestMtResource (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPara · 352 unmodified lines
353353
354354 pMa = (*ppCtx)->pMemAlign;
355355 pPara = pCodingParam;
356− iNumSpatialLayers = pPara->iNumDependencyLayer;
356+ iNumSpatialLayers = pPara->iSpatialLayerNum;
357357 iThreadNum = pPara->iCountThreadsNum;
358358 iMaxSliceNum = (*ppCtx)->iMaxSliceCount;
359359
@@ -399,8 +399,8 @@ int32_t RequestMtResource (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPara · 39 unmodified lines
399399 #if defined(DYNAMIC_SLICE_ASSIGN) || defined(MT_DEBUG)
400400 iIdx = 0;
401401 while (iIdx < iNumSpatialLayers) {
402− SMulSliceOption* pMso = &pPara->sDependencyLayers[iIdx].sMso;
403− const int32_t kiSliceNum = pMso->sSliceArgument.iSliceNum;
402+ SSliceConfig* pMso = &pPara->sDependencyLayers[iIdx].sSliceCfg;
403+ const int32_t kiSliceNum = pMso->sSliceArgument.uiSliceNum;
404404 if (pMso->uiSliceMode == SM_FIXEDSLCNUM_SLICE && pPara->iMultipleThreadIdc > 1
405405 && pPara->iMultipleThreadIdc >= kiSliceNum) {
406406 pSmt->pSliceConsumeTime[iIdx] = (uint32_t*)pMa->WelsMallocz (kiSliceNum * sizeof (uint32_t), "pSliceConsumeTime[]");
@@ -638,7 +638,7 @@ void ReleaseMtResource (sWelsEncCtx** ppCtx) { · 231 unmodified lines
638638 }
639639 #if defined(DYNAMIC_SLICE_ASSIGN) || defined(MT_DEBUG)
640640 iIdx = 0;
641− while (iIdx < pCodingParam->iNumDependencyLayer) {
641+ while (iIdx < pCodingParam->iSpatialLayerNum) {
642642 if (pSmt->pSliceConsumeTime[iIdx]) {
643643 pMa->WelsFree (pSmt->pSliceConsumeTime[iIdx], "pSliceConsumeTime[]");
644644 pSmt->pSliceConsumeTime[iIdx] = NULL;
@@ -688,7 +688,8 @@ int32_t AppendSliceToFrameBs (sWelsEncCtx* pCtx, SLayerBSInfo* pLbi, const int32 · 43 unmodified lines
688688 SWelsSvcCodingParam* pCodingParam = pCtx->pSvcParam;
689689 SDLayerParam* pDlp = &pCodingParam->sDependencyLayers[pCtx->uiDependencyId];
690690 SWelsSliceBs* pSliceBs = NULL;
691− const bool kbIsDynamicSlicingMode = (pDlp->sMso.uiSliceMode == SM_DYN_SLICE);
691+ const bool kbIsDynamicSlicingMode = (pDlp->sSliceCfg.uiSliceMode == SM_DYN_SLICE);
692+
692693 int32_t iLayerSize = 0;
693694 int32_t iNalIdxBase = pLbi->iNalCount;
694695 int32_t iSliceIdx = 0;
@@ -944,7 +945,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 249 unmodified lines
944945 eNalRefIdc = pEncPEncCtx->eNalPriority;
945946 bNeedPrefix = pEncPEncCtx->bNeedPrefixNalFlag;
946947
947− if (pParamD->sMso.uiSliceMode != SM_DYN_SLICE) {
948+ if (pParamD->sSliceCfg.uiSliceMode != SM_DYN_SLICE) {
948949 int64_t iSliceStart = 0;
949950 bool bDsaFlag = false;
950951 iSliceIdx = pPrivateData->iSliceIndex;
@@ -952,9 +953,9 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 1 unmodified line
952953 pSliceBs = &pEncPEncCtx->pSliceBs[iSliceIdx];
953954
954955 #if defined(DYNAMIC_SLICE_ASSIGN) || defined(MT_DEBUG)
955− bDsaFlag = (pParamD->sMso.uiSliceMode == SM_FIXEDSLCNUM_SLICE &&
956+ bDsaFlag = (pParamD->sSliceCfg.uiSliceMode == SM_FIXEDSLCNUM_SLICE &&
956957 pCodingParam->iMultipleThreadIdc > 1 &&
957− pCodingParam->iMultipleThreadIdc >= pParamD->sMso.sSliceArgument.iSliceNum);
958+ pCodingParam->iMultipleThreadIdc >= pParamD->sSliceCfg.sSliceArgument.uiSliceNum);
958959 if (bDsaFlag)
959960 iSliceStart = WelsTime();
960961 #endif//DYNAMIC_SLICE_ASSIGN || MT_DEBUG
@@ -1376,10 +1377,11 @@ int32_t AdjustEnhanceLayer (sWelsEncCtx* pCtx, int32_t iCurDid) { · 415 unmodified lines
13761377 int32_t iNeedAdj = 1;
13771378 // uiSliceMode of referencing spatial should be SM_FIXEDSLCNUM_SLICE
13781379 // if using spatial base layer for complexity estimation
1380+
13791381 const bool kbModelingFromSpatial = (pCtx->pCurDqLayer->pRefLayer != NULL && iCurDid > 0)
1380− && (pCtx->pSvcParam->sDependencyLayers[iCurDid - 1].sMso.uiSliceMode == SM_FIXEDSLCNUM_SLICE
1382+ && (pCtx->pSvcParam->sDependencyLayers[iCurDid - 1].sSliceCfg.uiSliceMode == SM_FIXEDSLCNUM_SLICE
13811383 && pCtx->pSvcParam->iMultipleThreadIdc >= pCtx->pSvcParam->sDependencyLayers[iCurDid -
1382− 1].sMso.sSliceArgument.iSliceNum);
1384+ 1].sSliceCfg.sSliceArgument.uiSliceNum);
13831385
13841386 if (kbModelingFromSpatial) { // using spatial base layer for complexity estimation
13851387 #ifdef TRY_SLICING_BALANCE
@@ -1457,7 +1459,7 @@ void TrackSliceConsumeTime (sWelsEncCtx* pCtx, int32_t* pDidList, const int32_t · 71 unmodified lines
14571459 while (iSpatialIdx < iSpatialNum) {
14581460 const int32_t kiDid = pDidList[iSpatialIdx];
14591461 SDLayerParam* pDlp = &pPara->sDependencyLayers[kiDid];
1460− SMulSliceOption* pMso = &pDlp->sMso;
1462+ SMulSliceOption* pMso = &pDlp->sSliceCfg;
14611463 SDqLayer* pCurDq = pCtx->ppDqLayerList[kiDid];
14621464 SSliceCtx* pSliceCtx = pCurDq->pSliceEncCtx;
14631465 const uint32_t kuiCountSliceNum = pSliceCtx->iSliceNumInFrame;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t