History

Merge pull request #2272 from sijchen/rf0

[Encoder] put duplicated codes into one function

HaiboZhu committed 10 years ago

Commit 921443e2 parents 6696022 2fc9c084 files · +42 −110Browse files

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

Unified · Split

codec/encoder/core/src/slice_multi_threading.cpp+1−37
@@ -82,48 +82,12 @@ void UpdateMbListNeighborParallel (SDqLayer* pCurDq, · 81 unmodified lines
8282 const int32_t uiSliceIdc) {
8383 SSliceCtx* pSliceCtx = &pCurDq->sSliceEncCtx;
8484 SSlice* pUpdateSlice = &pCurDq->sLayerInfo.pSliceInLayer[uiSliceIdc];
85− const uint16_t* kpMbMap = pSliceCtx->pOverallMbMap;
8685 const int32_t kiMbWidth = pSliceCtx->iMbWidth;
8786 int32_t iIdx = pUpdateSlice->sSliceHeaderExt.sSliceHeader.iFirstMbInSlice;
8887 const int32_t kiEndMbInSlice = iIdx + pUpdateSlice->iCountMbNumInSlice - 1;
8988
9089 do {
91− SMB* pMb = &pMbList[iIdx];
92− uint32_t uiNeighborAvailFlag = 0;
93− const int32_t kiMbXY = pMb->iMbXY;
94− const int32_t kiMbX = pMb->iMbX;
95− const int32_t kiMbY = pMb->iMbY;
96− bool bLeft;
97− bool bTop;
98− bool bLeftTop;
99− bool bRightTop;
100− int32_t iLeftXY, iTopXY, iLeftTopXY, iRightTopXY;
101−
102− iLeftXY = kiMbXY - 1;
103− iTopXY = kiMbXY - kiMbWidth;
104− iLeftTopXY = iTopXY - 1;
105− iRightTopXY = iTopXY + 1;
106−
107− bLeft = (kiMbX > 0) && (uiSliceIdc == kpMbMap[iLeftXY]);
108− bTop = (kiMbY > 0) && (uiSliceIdc == kpMbMap[iTopXY]);
109− bLeftTop = (kiMbX > 0) && (kiMbY > 0) && (uiSliceIdc == kpMbMap[iLeftTopXY]);
110− bRightTop = (kiMbX < (kiMbWidth - 1)) && (kiMbY > 0) && (uiSliceIdc == kpMbMap[iRightTopXY]);
111−
112− if (bLeft) {
113− uiNeighborAvailFlag |= LEFT_MB_POS;
114− }
115− if (bTop) {
116− uiNeighborAvailFlag |= TOP_MB_POS;
117− }
118− if (bLeftTop) {
119− uiNeighborAvailFlag |= TOPLEFT_MB_POS;
120− }
121− if (bRightTop) {
122− uiNeighborAvailFlag |= TOPRIGHT_MB_POS;
123− }
124− pMb->uiNeighborAvail = (uint8_t)uiNeighborAvailFlag;
125− pMb->uiSliceIdc = uiSliceIdc;
126−
90+ UpdateMbNeighbor(pCurDq, &pMbList[iIdx], kiMbWidth, uiSliceIdc);
12791 ++ iIdx;
12892 } while (iIdx <= kiEndMbInSlice);
12993 }

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