History

Thread decoding deblocking update by setting pNzc array for neighboring MBs.

xiaotiansf committed 6 years ago

Commit 49ca1f71 parent 3f286436 files · +43 −34Browse files

Showing the changes to codec/decoder/core/src/deblocking.cpp (1 of 6 files). Show all

Unified · Split

codec/decoder/core/src/deblocking.cpp+16−16
@@ -576,7 +576,7 @@ uint32_t DeblockingBsMarginalMBAvcbase (PDeblockingFilter pFilter, PDqLayer pCu · 575 unmodified lines
576576 for (i = 0; i < 2; i++) {
577577 uint8_t uiNzc = 0;
578578 for (j = 0; uiNzc == 0 && j < 4; j++) {
579− uiNzc |= (pCurDqLayer->pNzc[iMbXy][* (pB8x8Idx + j)] | pCurDqLayer->pNzc[iNeighMb][* (pBn8x8Idx + j)]);
579+ uiNzc |= (GetPNzc (pCurDqLayer, iMbXy)[* (pB8x8Idx + j)] | GetPNzc (pCurDqLayer, iNeighMb)[* (pBn8x8Idx + j)]);
580580 }
581581 if (uiNzc) {
582582 pBS[i << 1] = pBS[1 + (i << 1)] = 2;
@@ -595,10 +595,10 @@ uint32_t DeblockingBsMarginalMBAvcbase (PDeblockingFilter pFilter, PDqLayer pCu · 12 unmodified lines
595595 for (i = 0; i < 2; i++) {
596596 uint8_t uiNzc = 0;
597597 for (j = 0; uiNzc == 0 && j < 4; j++) {
598− uiNzc |= pCurDqLayer->pNzc[iMbXy][* (pB8x8Idx + j)];
598+ uiNzc |= GetPNzc (pCurDqLayer, iMbXy)[* (pB8x8Idx + j)];
599599 }
600600 for (j = 0; j < 2; j++) {
601− if (uiNzc | pCurDqLayer->pNzc[iNeighMb][*pBnIdx]) {
601+ if (uiNzc | GetPNzc (pCurDqLayer, iNeighMb)[*pBnIdx]) {
602602 pBS[j + (i << 1)] = 2;
603603 } else {
604604 PPicture ref0, ref1;
@@ -616,10 +616,10 @@ uint32_t DeblockingBsMarginalMBAvcbase (PDeblockingFilter pFilter, PDqLayer pCu · 11 unmodified lines
616616 for (i = 0; i < 2; i++) {
617617 uint8_t uiNzc = 0;
618618 for (j = 0; uiNzc == 0 && j < 4; j++) {
619− uiNzc |= pCurDqLayer->pNzc[iNeighMb][* (pBn8x8Idx + j)];
619+ uiNzc |= GetPNzc (pCurDqLayer, iNeighMb)[* (pBn8x8Idx + j)];
620620 }
621621 for (j = 0; j < 2; j++) {
622− if (uiNzc | pCurDqLayer->pNzc[iMbXy][*pBIdx]) {
622+ if (uiNzc | GetPNzc (pCurDqLayer, iMbXy)[*pBIdx]) {
623623 pBS[j + (i << 1)] = 2;
624624 } else {
625625 PPicture ref0, ref1;
@@ -637,7 +637,7 @@ uint32_t DeblockingBsMarginalMBAvcbase (PDeblockingFilter pFilter, PDqLayer pCu · 11 unmodified lines
637637 } else {
638638 // only 4x4 transform
639639 for (i = 0; i < 4; i++) {
640− if (pCurDqLayer->pNzc[iMbXy][*pBIdx] | pCurDqLayer->pNzc[iNeighMb][*pBnIdx]) {
640+ if (GetPNzc (pCurDqLayer, iMbXy)[*pBIdx] | GetPNzc (pCurDqLayer, iNeighMb)[*pBnIdx]) {
641641 pBS[i] = 2;
642642 } else {
643643 PPicture ref0, ref1;
@@ -668,7 +668,7 @@ uint32_t DeblockingBSliceBsMarginalMBAvcbase (PDeblockingFilter pFilter, PDqLay · 24 unmodified lines
668668 for (i = 0; i < 2; i++) {
669669 uint8_t uiNzc = 0;
670670 for (j = 0; uiNzc == 0 && j < 4; j++) {
671− uiNzc |= (pCurDqLayer->pNzc[iMbXy][* (pB8x8Idx + j)] | pCurDqLayer->pNzc[iNeighMb][* (pBn8x8Idx + j)]);
671+ uiNzc |= (GetPNzc (pCurDqLayer, iMbXy)[* (pB8x8Idx + j)] | GetPNzc (pCurDqLayer, iNeighMb)[* (pBn8x8Idx + j)]);
672672 }
673673 if (uiNzc) {
674674 pBS[i << 1] = pBS[1 + (i << 1)] = 2;
@@ -693,10 +693,10 @@ uint32_t DeblockingBSliceBsMarginalMBAvcbase (PDeblockingFilter pFilter, PDqLay · 18 unmodified lines
693693 for (i = 0; i < 2; i++) {
694694 uint8_t uiNzc = 0;
695695 for (j = 0; uiNzc == 0 && j < 4; j++) {
696− uiNzc |= pCurDqLayer->pNzc[iMbXy][* (pB8x8Idx + j)];
696+ uiNzc |= GetPNzc (pCurDqLayer, iMbXy)[* (pB8x8Idx + j)];
697697 }
698698 for (j = 0; j < 2; j++) {
699− if (uiNzc | pCurDqLayer->pNzc[iNeighMb][*pBnIdx]) {
699+ if (uiNzc | GetPNzc (pCurDqLayer, iNeighMb)[*pBnIdx]) {
700700 pBS[j + (i << 1)] = 2;
701701 } else {
702702 pBS[j + (i << 1)] = 1;
@@ -720,10 +720,10 @@ uint32_t DeblockingBSliceBsMarginalMBAvcbase (PDeblockingFilter pFilter, PDqLay · 17 unmodified lines
720720 for (i = 0; i < 2; i++) {
721721 uint8_t uiNzc = 0;
722722 for (j = 0; uiNzc == 0 && j < 4; j++) {
723− uiNzc |= pCurDqLayer->pNzc[iNeighMb][* (pBn8x8Idx + j)];
723+ uiNzc |= GetPNzc (pCurDqLayer, iNeighMb)[* (pBn8x8Idx + j)];
724724 }
725725 for (j = 0; j < 2; j++) {
726− if (uiNzc | pCurDqLayer->pNzc[iMbXy][*pBIdx]) {
726+ if (uiNzc | GetPNzc (pCurDqLayer, iMbXy)[*pBIdx]) {
727727 pBS[j + (i << 1)] = 2;
728728 } else {
729729 pBS[j + (i << 1)] = 1;
@@ -745,7 +745,7 @@ uint32_t DeblockingBSliceBsMarginalMBAvcbase (PDeblockingFilter pFilter, PDqLay · 15 unmodified lines
745745 } else {
746746 // only 4x4 transform
747747 for (i = 0; i < 4; i++) {
748− if (pCurDqLayer->pNzc[iMbXy][*pBIdx] | pCurDqLayer->pNzc[iNeighMb][*pBnIdx]) {
748+ if (GetPNzc (pCurDqLayer, iMbXy)[*pBIdx] | GetPNzc (pCurDqLayer, iNeighMb)[*pBnIdx]) {
749749 pBS[i] = 2;
750750 } else {
751751 pBS[i] = 1;
@@ -1286,16 +1286,16 @@ void WelsDeblockingMb (PDqLayer pCurDqLayer, PDeblockingFilter pFilter, int32_t · 534 unmodified lines
12861286 } else {
12871287 if (IS_INTER_16x16 (iCurMbType)) {
12881288 if (!pCurDqLayer->pTransformSize8x8Flag[pCurDqLayer->iMbXyIndex]) {
1289− DeblockingBSInsideMBAvsbase (pCurDqLayer->pNzc[iMbXyIndex], nBS, 1);
1289+ DeblockingBSInsideMBAvsbase (GetPNzc (pCurDqLayer, iMbXyIndex), nBS, 1);
12901290 } else {
1291− DeblockingBSInsideMBAvsbase8x8 (pCurDqLayer->pNzc[iMbXyIndex], nBS, 1);
1291+ DeblockingBSInsideMBAvsbase8x8 (GetPNzc (pCurDqLayer, iMbXyIndex), nBS, 1);
12921292 }
12931293 } else {
12941294
12951295 if (bBSlice) {
1296− DeblockingBSliceBSInsideMBNormal (pFilter, pCurDqLayer, nBS, pCurDqLayer->pNzc[iMbXyIndex], iMbXyIndex);
1296+ DeblockingBSliceBSInsideMBNormal (pFilter, pCurDqLayer, nBS, GetPNzc (pCurDqLayer, iMbXyIndex), iMbXyIndex);
12971297 } else {
1298− DeblockingBSInsideMBNormal (pFilter, pCurDqLayer, nBS, pCurDqLayer->pNzc[iMbXyIndex], iMbXyIndex);
1298+ DeblockingBSInsideMBNormal (pFilter, pCurDqLayer, nBS, GetPNzc (pCurDqLayer, iMbXyIndex), iMbXyIndex);
12991299 }
13001300 }
13011301 }

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