Showing the changes to codec/encoder/core/src/svc_encode_slice.cpp (1 of 1 file). Show all
Unified · Split
| @@ -593,11 +593,7 @@ TRY_REENCODING: · 592 unmodified lines | ||
| 593 | 593 | sDss.iCurrentPos = BsGetBitsPos (pBs); |
| 594 | 594 | |
| 595 | 595 | if (DynSlcJudgeSliceBoundaryStepBack (pEncCtx, pSlice, pSliceCtx, pCurMb, &sDss)) { //islice |
| 596 | − //stack pBs pointer | |
| 597 | − pBs->pBufPtr = sDss.pBsStackBufPtr; | |
| 598 | − pBs->uiCurBits = sDss.uiBsStackCurBits; | |
| 599 | − pBs->iLeftBits = sDss.iBsStackLeftBits; | |
| 600 | − | |
| 596 | + StashPopMBStatus (&sDss, pBs, pSlice); | |
| 601 | 597 | pCurLayer->pLastCodedMbIdxOfPartition[kiPartitionId] = iCurMbIdx - |
| 602 | 598 | 1; // update pLastCodedMbIdxOfPartition, need to -1 due to stepping back |
| 603 | 599 | ++ pCurLayer->pNumSliceCodedOfPartition[kiPartitionId]; |
| @@ -1116,13 +1112,7 @@ TRY_REENCODING: · 512 unmodified lines | ||
| 1116 | 1112 | //DYNAMIC_SLICING_ONE_THREAD - MultiD |
| 1117 | 1113 | sDss.iCurrentPos = BsGetBitsPos (pBs); |
| 1118 | 1114 | if (DynSlcJudgeSliceBoundaryStepBack (pEncCtx, pSlice, pSliceCtx, pCurMb, &sDss)) { |
| 1119 | − //stack pBs pointer | |
| 1120 | − pBs->pBufPtr = sDss.pBsStackBufPtr; | |
| 1121 | − pBs->uiCurBits = sDss.uiBsStackCurBits; | |
| 1122 | − pBs->iLeftBits = sDss.iBsStackLeftBits; | |
| 1123 | − | |
| 1124 | − iMbSkipRun = sDss.iMbSkipRunStack; | |
| 1125 | − | |
| 1115 | + StashPopMBStatus (&sDss, pBs, pSlice, &iMbSkipRun); | |
| 1126 | 1116 | pCurLayer->pLastCodedMbIdxOfPartition[kiPartitionId] = iCurMbIdx - |
| 1127 | 1117 | 1; // update pLastCodedMbIdxOfPartition, need to -1 due to stepping back |
| 1128 | 1118 | ++ pCurLayer->pNumSliceCodedOfPartition[kiPartitionId]; |