History

put duplicated codes into one function

sijchen committed 10 years ago

Commit 2fc9c081 parent 01016b14 files · +42 −110Browse files

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

Unified · Split

codec/encoder/core/src/encoder_ext.cpp+1−37
@@ -2689,43 +2689,7 @@ void DynslcUpdateMbNeighbourInfoListForAllSlices (SDqLayer* pCurDq, SMB* pMbList · 2688 unmodified lines
2689 2689
2690 do {2690 do {
2691 SMB* pMb = &pMbList[iIdx];2691 SMB* pMb = &pMbList[iIdx];
2692 uint32_t uiNeighborAvailFlag = 0;2692 UpdateMbNeighbor(pCurDq, pMb, kiMbWidth, WelsMbToSliceIdc (pCurDq, pMb->iMbXY));
2693 const int32_t kiMbXY = pMb->iMbXY;
2694 const int32_t kiMbX = pMb->iMbX;
2695 const int32_t kiMbY = pMb->iMbY;
2696 bool bLeft;
2697 bool bTop;
2698 bool bLeftTop;
2699 bool bRightTop;
2700 uint16_t uiSliceIdc;
2701 int32_t iLeftXY, iTopXY, iLeftTopXY, iRightTopXY;
2702
2703 uiSliceIdc = WelsMbToSliceIdc (pCurDq, kiMbXY);
2704 pMb->uiSliceIdc = uiSliceIdc;
2705 iLeftXY = kiMbXY - 1;
2706 iTopXY = kiMbXY - kiMbWidth;
2707 iLeftTopXY = iTopXY - 1;
2708 iRightTopXY = iTopXY + 1;
2709
2710 bLeft = (kiMbX > 0) && (uiSliceIdc == WelsMbToSliceIdc (pCurDq, iLeftXY));
2711 bTop = (kiMbY > 0) && (uiSliceIdc == WelsMbToSliceIdc (pCurDq, iTopXY));
2712 bLeftTop = (kiMbX > 0) && (kiMbY > 0) && (uiSliceIdc == WelsMbToSliceIdc (pCurDq, iLeftTopXY));
2713 bRightTop = (kiMbX < (kiMbWidth - 1)) && (kiMbY > 0) && (uiSliceIdc == WelsMbToSliceIdc (pCurDq, iRightTopXY));
2714
2715 if (bLeft) {
2716 uiNeighborAvailFlag |= LEFT_MB_POS;
2717 }
2718 if (bTop) {
2719 uiNeighborAvailFlag |= TOP_MB_POS;
2720 }
2721 if (bLeftTop) {
2722 uiNeighborAvailFlag |= TOPLEFT_MB_POS;
2723 }
2724 if (bRightTop) {
2725 uiNeighborAvailFlag |= TOPRIGHT_MB_POS;
2726 }
2727 pMb->uiNeighborAvail = (uint8_t)uiNeighborAvailFlag;
2728
2729 ++ iIdx;2693 ++ iIdx;
2730 } while (iIdx <= kiEndMbInSlice);2694 } while (iIdx <= kiEndMbInSlice);
2731}2695}

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