History

Slice buffer design:fixes partitionID/last code slice in partition buffer error issue

Huade Shi (huashi) committed 9 years ago

Commit 6cb5e461 parent 14725d41 file · +3 −2Browse files

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

Unified · Split

codec/encoder/core/src/svc_encode_slice.cpp+3−2
@@ -1284,7 +1284,7 @@ int32_t CalculateNewSliceNum (sWelsEncCtx* pCtx, · 1283 unmodified lines
12841284 return ENC_RETURN_SUCCESS;
12851285 }
12861286
1287− int32_t iPartitionID = pLastCodedSlice->iSliceIdx / pCtx->iActiveThreadsNum;
1287+ int32_t iPartitionID = pLastCodedSlice->iSliceIdx % pCtx->iActiveThreadsNum;
12881288 int32_t iMBNumInPatition = pCtx->pCurDqLayer->EndMbIdxOfPartition[iPartitionID]
12891289 - pCtx->pCurDqLayer->FirstMbIdxOfPartition[iPartitionID] + 1;
12901290 int32_t iLeftMBNum = pCtx->pCurDqLayer->EndMbIdxOfPartition[iPartitionID]
@@ -1302,9 +1302,10 @@ int32_t ReallocateSliceInThread (sWelsEncCtx* pCtx, · 11 unmodified lines
13021302 const int32_t kiDlayerIdx,
13031303 const int32_t KiSlcBuffIdx) {
13041304 int32_t iMaxSliceNum = pDqLayer->sSliceBufferInfo[KiSlcBuffIdx].iMaxSliceNum;
1305+ int32_t iCodedSliceNum = pDqLayer->sSliceBufferInfo[KiSlcBuffIdx].iCodedSliceNum;
13051306 int32_t iMaxSliceNumNew = 0;
13061307 int32_t iRet = 0;
1307− SSlice* pLastCodedSlice = &pDqLayer->sSliceBufferInfo[KiSlcBuffIdx].pSliceBuffer [iMaxSliceNum - 1];
1308+ SSlice* pLastCodedSlice = &pDqLayer->sSliceBufferInfo[KiSlcBuffIdx].pSliceBuffer [iCodedSliceNum - 1];
13081309 SSliceArgument* pSliceArgument = & pCtx->pSvcParam->sSpatialLayers[kiDlayerIdx].sSliceArgument;
13091310
13101311 iRet = CalculateNewSliceNum (pCtx,

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