History

slice buffer variable rename:sSliceThreadInfo replace by sSliceBufferInfo

Huade Shi (huashi) committed 9 years ago

Commit ffb65791 parent 097734e5 files · +79 −81Browse files

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

Unified · Split

codec/encoder/core/src/svc_encode_slice.cpp+34−34
@@ -985,7 +985,7 @@ int32_t InitAllSlicesInThread (sWelsEncCtx* pCtx) { · 984 unmodified lines
985 }985 }
986 986
987 for( ; iTheadIdx < pCtx->iActiveThreadsNum; iTheadIdx++ ) {987 for( ; iTheadIdx < pCtx->iActiveThreadsNum; iTheadIdx++ ) {
988 pCurDqLayer->sSliceThreadInfo[iTheadIdx].iCodedSliceNum = 0;988 pCurDqLayer->sSliceBufferInfo[iTheadIdx].iCodedSliceNum = 0;
989 }989 }
990 990
991 return ENC_RETURN_SUCCESS;991 return ENC_RETURN_SUCCESS;
@@ -998,11 +998,11 @@ int32_t InitOneSliceInThread (sWelsEncCtx* pCtx, · 6 unmodified lines
998 const int32_t kiSliceIdx) {998 const int32_t kiSliceIdx) {
999 999
1000 if (pCtx->pCurDqLayer->bThreadSlcBufferFlag) {1000 if (pCtx->pCurDqLayer->bThreadSlcBufferFlag) {
1001 const int32_t kiCodedNumInThread = pCtx->pCurDqLayer->sSliceThreadInfo[kiThreadIdx].iCodedSliceNum;1001 const int32_t kiCodedNumInThread = pCtx->pCurDqLayer->sSliceBufferInfo[kiThreadIdx].iCodedSliceNum;
1002 assert(kiCodedNumInThread <= pCtx->pCurDqLayer->sSliceThreadInfo[kiThreadIdx].iMaxSliceNum -1 );1002 assert(kiCodedNumInThread <= pCtx->pCurDqLayer->sSliceBufferInfo[kiThreadIdx].iMaxSliceNum -1 );
1003 pSlice = &pCtx->pCurDqLayer->sSliceThreadInfo [kiThreadIdx].pSliceBuffer[kiCodedNumInThread];1003 pSlice = &pCtx->pCurDqLayer->sSliceBufferInfo [kiThreadIdx].pSliceBuffer[kiCodedNumInThread];
1004 } else {1004 } else {
1005 pSlice = &pCtx->pCurDqLayer->sSliceThreadInfo [0].pSliceBuffer[kiSliceIdx];1005 pSlice = &pCtx->pCurDqLayer->sSliceBufferInfo [0].pSliceBuffer[kiSliceIdx];
1006 }1006 }
1007 pSlice->iSliceIdx = kiSliceIdx;1007 pSlice->iSliceIdx = kiSliceIdx;
1008 pSlice->uiThreadIdx = kiThreadIdx;1008 pSlice->uiThreadIdx = kiThreadIdx;
@@ -1037,15 +1037,15 @@ int32_t InitSliceThreadInfo (sWelsEncCtx* pCtx, · 28 unmodified lines
1037 }1037 }
1038 1038
1039 while (iIdx < iSlcBufferNum) {1039 while (iIdx < iSlcBufferNum) {
1040 pDqLayer->sSliceThreadInfo[iIdx].iMaxSliceNum = iMaxSliceNum;1040 pDqLayer->sSliceBufferInfo[iIdx].iMaxSliceNum = iMaxSliceNum;
1041 pDqLayer->sSliceThreadInfo[iIdx].iCodedSliceNum = 0;1041 pDqLayer->sSliceBufferInfo[iIdx].iCodedSliceNum = 0;
1042 pDqLayer->sSliceThreadInfo[iIdx].pSliceBuffer = (SSlice*)pMa->WelsMallocz (sizeof (SSlice) * iMaxSliceNum, "pSliceBuffer");1042 pDqLayer->sSliceBufferInfo[iIdx].pSliceBuffer = (SSlice*)pMa->WelsMallocz (sizeof (SSlice) * iMaxSliceNum, "pSliceBuffer");
1043 if (NULL == pDqLayer->sSliceThreadInfo[iIdx].pSliceBuffer) {1043 if (NULL == pDqLayer->sSliceBufferInfo[iIdx].pSliceBuffer) {
1044 WelsLog (& (pCtx->sLogCtx), WELS_LOG_ERROR,1044 WelsLog (& (pCtx->sLogCtx), WELS_LOG_ERROR,
1045 "CWelsH264SVCEncoder::InitSliceThreadInfo: pSliceThreadInfo->pSliceBuffer[iIdx] is NULL");1045 "CWelsH264SVCEncoder::InitSliceThreadInfo: pSliceThreadInfo->pSliceBuffer[iIdx] is NULL");
1046 return ENC_RETURN_MEMALLOCERR;1046 return ENC_RETURN_MEMALLOCERR;
1047 }1047 }
1048 iRet = InitSliceList (pDqLayer->sSliceThreadInfo[iIdx].pSliceBuffer,1048 iRet = InitSliceList (pDqLayer->sSliceBufferInfo[iIdx].pSliceBuffer,
1049 &pCtx->pOut->sBsWrite,1049 &pCtx->pOut->sBsWrite,
1050 iMaxSliceNum,1050 iMaxSliceNum,
1051 pCtx->iSliceBufferSize[kiDlayerIndex],1051 pCtx->iSliceBufferSize[kiDlayerIndex],
@@ -1058,9 +1058,9 @@ int32_t InitSliceThreadInfo (sWelsEncCtx* pCtx, · 6 unmodified lines
1058 }1058 }
1059 1059
1060 for (; iIdx < MAX_THREADS_NUM; iIdx++) {1060 for (; iIdx < MAX_THREADS_NUM; iIdx++) {
1061 pDqLayer->sSliceThreadInfo[iIdx].iMaxSliceNum = 0;1061 pDqLayer->sSliceBufferInfo[iIdx].iMaxSliceNum = 0;
1062 pDqLayer->sSliceThreadInfo[iIdx].iCodedSliceNum = 0;1062 pDqLayer->sSliceBufferInfo[iIdx].iCodedSliceNum = 0;
1063 pDqLayer->sSliceThreadInfo[iIdx].pSliceBuffer = NULL;1063 pDqLayer->sSliceBufferInfo[iIdx].pSliceBuffer = NULL;
1064 }1064 }
1065 1065
1066 return ENC_RETURN_SUCCESS;1066 return ENC_RETURN_SUCCESS;
@@ -1095,7 +1095,7 @@ int32_t InitSliceInLayer (sWelsEncCtx* pCtx, · 28 unmodified lines
1095 1095
1096 pDqLayer->iMaxSliceNum = 0;1096 pDqLayer->iMaxSliceNum = 0;
1097 for(iThreadIdx = 0; iThreadIdx < pCtx->iActiveThreadsNum; iThreadIdx++ ) {1097 for(iThreadIdx = 0; iThreadIdx < pCtx->iActiveThreadsNum; iThreadIdx++ ) {
1098 pDqLayer->iMaxSliceNum += pDqLayer->sSliceThreadInfo[iThreadIdx].iMaxSliceNum;1098 pDqLayer->iMaxSliceNum += pDqLayer->sSliceBufferInfo[iThreadIdx].iMaxSliceNum;
1099 }1099 }
1100 1100
1101 pDqLayer->ppSliceInLayer = (SSlice**)pMa->WelsMallocz (sizeof (SSlice*) * pDqLayer->iMaxSliceNum, "ppSliceInLayer");1101 pDqLayer->ppSliceInLayer = (SSlice**)pMa->WelsMallocz (sizeof (SSlice*) * pDqLayer->iMaxSliceNum, "ppSliceInLayer");
@@ -1123,11 +1123,11 @@ int32_t InitSliceInLayer (sWelsEncCtx* pCtx, · 21 unmodified lines
1123 1123
1124 iStartIdx = 0;1124 iStartIdx = 0;
1125 for(iThreadIdx = 0; iThreadIdx < pCtx->iActiveThreadsNum; iThreadIdx++ ) {1125 for(iThreadIdx = 0; iThreadIdx < pCtx->iActiveThreadsNum; iThreadIdx++ ) {
1126 for (iSliceIdx = 0; iSliceIdx < pDqLayer->sSliceThreadInfo[iThreadIdx].iMaxSliceNum; iSliceIdx++ ) {1126 for (iSliceIdx = 0; iSliceIdx < pDqLayer->sSliceBufferInfo[iThreadIdx].iMaxSliceNum; iSliceIdx++ ) {
1127 pDqLayer->ppSliceInLayer[iStartIdx + iSliceIdx] = pDqLayer->sSliceThreadInfo[iThreadIdx].pSliceBuffer+ iSliceIdx;1127 pDqLayer->ppSliceInLayer[iStartIdx + iSliceIdx] = pDqLayer->sSliceBufferInfo[iThreadIdx].pSliceBuffer+ iSliceIdx;
1128 }1128 }
1129 1129
1130 iStartIdx += pDqLayer->sSliceThreadInfo[iThreadIdx].iMaxSliceNum;1130 iStartIdx += pDqLayer->sSliceBufferInfo[iThreadIdx].iMaxSliceNum;
1131 }1131 }
1132 1132
1133 return ENC_RETURN_SUCCESS;1133 return ENC_RETURN_SUCCESS;
@@ -1301,10 +1301,10 @@ int32_t ReallocateSliceInThread (sWelsEncCtx* pCtx, · 167 unmodified lines
1301 SDqLayer* pDqLayer,1301 SDqLayer* pDqLayer,
1302 const int32_t kiDlayerIdx,1302 const int32_t kiDlayerIdx,
1303 const int32_t kiThreadIndex) {1303 const int32_t kiThreadIndex) {
1304 int32_t iMaxSliceNum = pDqLayer->sSliceThreadInfo[kiThreadIndex].iMaxSliceNum;1304 int32_t iMaxSliceNum = pDqLayer->sSliceBufferInfo[kiThreadIndex].iMaxSliceNum;
1305 int32_t iMaxSliceNumNew = 0;1305 int32_t iMaxSliceNumNew = 0;
1306 int32_t iRet = 0;1306 int32_t iRet = 0;
1307 SSlice* pLastCodedSlice = &pDqLayer->sSliceThreadInfo[kiThreadIndex].pSliceBuffer [iMaxSliceNum - 1];1307 SSlice* pLastCodedSlice = &pDqLayer->sSliceBufferInfo[kiThreadIndex].pSliceBuffer [iMaxSliceNum - 1];
1308 SSliceArgument* pSliceArgument = & pCtx->pSvcParam->sSpatialLayers[kiDlayerIdx].sSliceArgument;1308 SSliceArgument* pSliceArgument = & pCtx->pSvcParam->sSpatialLayers[kiDlayerIdx].sSliceArgument;
1309 1309
1310 iRet = CalculateNewSliceNum (pCtx,1310 iRet = CalculateNewSliceNum (pCtx,
@@ -1317,14 +1317,14 @@ int32_t ReallocateSliceInThread (sWelsEncCtx* pCtx, · 6 unmodified lines
1317 1317
1318 iRet = ReallocateSliceList (pCtx,1318 iRet = ReallocateSliceList (pCtx,
1319 pSliceArgument,1319 pSliceArgument,
1320 pDqLayer->sSliceThreadInfo[kiThreadIndex].pSliceBuffer,1320 pDqLayer->sSliceBufferInfo[kiThreadIndex].pSliceBuffer,
1321 iMaxSliceNum,1321 iMaxSliceNum,
1322 iMaxSliceNumNew);1322 iMaxSliceNumNew);
1323 if (ENC_RETURN_SUCCESS != iRet) {1323 if (ENC_RETURN_SUCCESS != iRet) {
1324 return iRet;1324 return iRet;
1325 }1325 }
1326 1326
1327 pDqLayer->sSliceThreadInfo[kiThreadIndex].iMaxSliceNum = iMaxSliceNumNew;1327 pDqLayer->sSliceBufferInfo[kiThreadIndex].iMaxSliceNum = iMaxSliceNumNew;
1328 1328
1329 return ENC_RETURN_SUCCESS;1329 return ENC_RETURN_SUCCESS;
1330}1330}
@@ -1375,14 +1375,14 @@ int32_t ExtendLayerBuffer(sWelsEncCtx* pCtx, · 44 unmodified lines
1375int32_t ReallocSliceBuffer (sWelsEncCtx* pCtx) {1375int32_t ReallocSliceBuffer (sWelsEncCtx* pCtx) {
1376 1376
1377 SDqLayer* pCurLayer = pCtx->pCurDqLayer;1377 SDqLayer* pCurLayer = pCtx->pCurDqLayer;
1378 int32_t iMaxSliceNumOld = pCurLayer->sSliceThreadInfo[0].iMaxSliceNum;1378 int32_t iMaxSliceNumOld = pCurLayer->sSliceBufferInfo[0].iMaxSliceNum;
1379 int32_t iMaxSliceNumNew = 0;1379 int32_t iMaxSliceNumNew = 0;
1380 int32_t iRet = 0;1380 int32_t iRet = 0;
1381 int32_t iSliceIdx = 0;1381 int32_t iSliceIdx = 0;
1382 int32_t iThreadIdx = 0;1382 int32_t iThreadIdx = 0;
1383 int32_t iStartIdx = 0;1383 int32_t iStartIdx = 0;
1384 const int32_t kiCurDid = pCtx->uiDependencyId;1384 const int32_t kiCurDid = pCtx->uiDependencyId;
1385 SSlice* pLastCodedSlice = pCurLayer->sSliceThreadInfo[0].pSliceBuffer + (iMaxSliceNumOld - 1);1385 SSlice* pLastCodedSlice = pCurLayer->sSliceBufferInfo[0].pSliceBuffer + (iMaxSliceNumOld - 1);
1386 SSliceArgument* pSliceArgument = & pCtx->pSvcParam->sSpatialLayers[kiCurDid].sSliceArgument;1386 SSliceArgument* pSliceArgument = & pCtx->pSvcParam->sSpatialLayers[kiCurDid].sSliceArgument;
1387 iRet = CalculateNewSliceNum (pCtx,1387 iRet = CalculateNewSliceNum (pCtx,
1388 pLastCodedSlice,1388 pLastCodedSlice,
@@ -1395,18 +1395,18 @@ int32_t ReallocSliceBuffer (sWelsEncCtx* pCtx) { · 6 unmodified lines
1395 1395
1396 iRet = ReallocateSliceList (pCtx,1396 iRet = ReallocateSliceList (pCtx,
1397 pSliceArgument,1397 pSliceArgument,
1398 pCurLayer->sSliceThreadInfo[0].pSliceBuffer,1398 pCurLayer->sSliceBufferInfo[0].pSliceBuffer,
1399 iMaxSliceNumOld,1399 iMaxSliceNumOld,
1400 iMaxSliceNumNew);1400 iMaxSliceNumNew);
1401 if (ENC_RETURN_SUCCESS != iRet) {1401 if (ENC_RETURN_SUCCESS != iRet) {
1402 return iRet;1402 return iRet;
1403 }1403 }
1404 1404
1405 pCurLayer->sSliceThreadInfo[0].iMaxSliceNum = iMaxSliceNumNew;1405 pCurLayer->sSliceBufferInfo[0].iMaxSliceNum = iMaxSliceNumNew;
1406 1406
1407 iMaxSliceNumNew = 0;1407 iMaxSliceNumNew = 0;
1408 for(iThreadIdx = 0; iThreadIdx < pCtx->iActiveThreadsNum; iThreadIdx++ ) {1408 for(iThreadIdx = 0; iThreadIdx < pCtx->iActiveThreadsNum; iThreadIdx++ ) {
1409 iMaxSliceNumNew += pCurLayer->sSliceThreadInfo[iThreadIdx].iMaxSliceNum;1409 iMaxSliceNumNew += pCurLayer->sSliceBufferInfo[iThreadIdx].iMaxSliceNum;
1410 }1410 }
1411 1411
1412 iRet = ExtendLayerBuffer(pCtx, pCurLayer->iMaxSliceNum, iMaxSliceNumNew);1412 iRet = ExtendLayerBuffer(pCtx, pCurLayer->iMaxSliceNum, iMaxSliceNumNew);
@@ -1415,10 +1415,10 @@ int32_t ReallocSliceBuffer (sWelsEncCtx* pCtx) { · 2 unmodified lines
1415 }1415 }
1416 1416
1417 for(iThreadIdx = 0; iThreadIdx < pCtx->iActiveThreadsNum; iThreadIdx++ ) {1417 for(iThreadIdx = 0; iThreadIdx < pCtx->iActiveThreadsNum; iThreadIdx++ ) {
1418 for (iSliceIdx = 0; iSliceIdx < pCurLayer->sSliceThreadInfo[iThreadIdx].iMaxSliceNum; iSliceIdx++) {1418 for (iSliceIdx = 0; iSliceIdx < pCurLayer->sSliceBufferInfo[iThreadIdx].iMaxSliceNum; iSliceIdx++) {
1419 pCurLayer->ppSliceInLayer[iStartIdx + iSliceIdx] = pCurLayer->sSliceThreadInfo[iThreadIdx].pSliceBuffer + iSliceIdx;1419 pCurLayer->ppSliceInLayer[iStartIdx + iSliceIdx] = pCurLayer->sSliceBufferInfo[iThreadIdx].pSliceBuffer + iSliceIdx;
1420 }1420 }
1421 iStartIdx += pCurLayer->sSliceThreadInfo[iThreadIdx].iMaxSliceNum;1421 iStartIdx += pCurLayer->sSliceBufferInfo[iThreadIdx].iMaxSliceNum;
1422 }1422 }
1423 1423
1424 pCurLayer->iMaxSliceNum = iMaxSliceNumNew;1424 pCurLayer->iMaxSliceNum = iMaxSliceNumNew;
@@ -1477,10 +1477,10 @@ int32_t ReOrderSliceInLayer (sWelsEncCtx* pCtx, · 52 unmodified lines
1477 //before encode all slices in layer, slices' index are init with -11477 //before encode all slices in layer, slices' index are init with -1
1478 //pSliceBuffer->iSliceIdx will be set to actual slice index when encode one slice1478 //pSliceBuffer->iSliceIdx will be set to actual slice index when encode one slice
1479 for (iThreadIdx = 0; iThreadIdx < kiThreadNum; iThreadIdx++) {1479 for (iThreadIdx = 0; iThreadIdx < kiThreadNum; iThreadIdx++) {
1480 iSliceNumInThread = pCurLayer->sSliceThreadInfo[iThreadIdx].iMaxSliceNum;1480 iSliceNumInThread = pCurLayer->sSliceBufferInfo[iThreadIdx].iMaxSliceNum;
1481 1481
1482 for(iSliceIdx =0; iSliceIdx < iSliceNumInThread; iSliceIdx++) {1482 for(iSliceIdx =0; iSliceIdx < iSliceNumInThread; iSliceIdx++) {
1483 pSliceBuffer = pCurLayer->sSliceThreadInfo[iThreadIdx].pSliceBuffer + iSliceIdx;1483 pSliceBuffer = pCurLayer->sSliceBufferInfo[iThreadIdx].pSliceBuffer + iSliceIdx;
1484 if (NULL == pSliceBuffer) {1484 if (NULL == pSliceBuffer) {
1485 return ENC_RETURN_UNEXPECTED;1485 return ENC_RETURN_UNEXPECTED;
1486 }1486 }
@@ -1582,7 +1582,7 @@ int32_t SliceLayerInfoUpdate (sWelsEncCtx* pCtx, · 95 unmodified lines
1582 int32_t iRet = 0;1582 int32_t iRet = 0;
1583 1583
1584 for ( int32_t iThreadIdx = 0; iThreadIdx < pCtx->iActiveThreadsNum; iThreadIdx++) {1584 for ( int32_t iThreadIdx = 0; iThreadIdx < pCtx->iActiveThreadsNum; iThreadIdx++) {
1585 iMaxSliceNum += pCtx->pCurDqLayer->sSliceThreadInfo[iThreadIdx].iMaxSliceNum;1585 iMaxSliceNum += pCtx->pCurDqLayer->sSliceBufferInfo[iThreadIdx].iMaxSliceNum;
1586 }1586 }
1587 1587
1588 //reallocate ppSliceInLayer if total encoded slice num exceed max slice num1588 //reallocate ppSliceInLayer if total encoded slice num exceed max slice num
@@ -1678,8 +1678,8 @@ void UpdateMbNeighbourInfoForNextSlice (SDqLayer* pCurDq, · 89 unmodified lines
1678void AddSliceBoundary (sWelsEncCtx* pEncCtx, SSlice* pCurSlice, SSliceCtx* pSliceCtx, SMB* pCurMb,1678void AddSliceBoundary (sWelsEncCtx* pEncCtx, SSlice* pCurSlice, SSliceCtx* pSliceCtx, SMB* pCurMb,
1679 int32_t iFirstMbIdxOfNextSlice, const int32_t kiLastMbIdxInPartition) {1679 int32_t iFirstMbIdxOfNextSlice, const int32_t kiLastMbIdxInPartition) {
1680 SDqLayer* pCurLayer = pEncCtx->pCurDqLayer;1680 SDqLayer* pCurLayer = pEncCtx->pCurDqLayer;
1681 SSlice* pSliceBuffer = pCurLayer->sSliceThreadInfo[pCurSlice->uiThreadIdx].pSliceBuffer;1681 SSlice* pSliceBuffer = pCurLayer->sSliceBufferInfo[pCurSlice->uiThreadIdx].pSliceBuffer;
1682 int32_t iCodedSliceNum = pCurLayer->sSliceThreadInfo[pCurSlice->uiThreadIdx].iCodedSliceNum;1682 int32_t iCodedSliceNum = pCurLayer->sSliceBufferInfo[pCurSlice->uiThreadIdx].iCodedSliceNum;
1683 int32_t iCurMbIdx = pCurMb->iMbXY;1683 int32_t iCurMbIdx = pCurMb->iMbXY;
1684 uint16_t iCurSliceIdc = pSliceCtx->pOverallMbMap[ iCurMbIdx ];1684 uint16_t iCurSliceIdc = pSliceCtx->pOverallMbMap[ iCurMbIdx ];
1685 const int32_t kiSliceIdxStep = pEncCtx->iActiveThreadsNum;1685 const int32_t kiSliceIdxStep = pEncCtx->iActiveThreadsNum;

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