Changeset 1074 in 3DVCSoftware for branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComPrediction.cpp
- Timestamp:
- 21 Oct 2014, 20:39:50 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComPrediction.cpp
r1039 r1074 423 423 424 424 UInt dimType = getDimType ( uiIntraMode ); 425 #if !HS_DMM_SIGNALLING_I0120426 Bool dimDeltaDC = isDimDeltaDC( uiIntraMode );427 #endif428 425 Bool isDmmMode = (dimType < DMM_NUM_TYPE); 429 426 … … 440 437 case( DMM1_IDX ): 441 438 { 442 #if SHARP_DMM1_I0110443 439 dmmSegmentation = pcCU->isDMM1UpscaleMode((UInt)iWidth) ? 444 440 &(g_dmmWedgeLists[ g_aucConvertToBit[pcCU->getDMM1BasePatternWidth((UInt)iWidth)] ][ pcCU->getDmmWedgeTabIdx( dimType, uiAbsPartIdx ) ]) : 445 441 &(g_dmmWedgeLists[ g_aucConvertToBit[iWidth] ][ pcCU->getDmmWedgeTabIdx( dimType, uiAbsPartIdx ) ]); 446 #else447 dmmSegmentation = &(g_dmmWedgeLists[ g_aucConvertToBit[iWidth] ][ pcCU->getDmmWedgeTabIdx( dimType, uiAbsPartIdx ) ]);448 #endif449 442 } break; 450 443 case( DMM4_IDX ): … … 464 457 } 465 458 assert( dmmSegmentation ); 466 #if SHARP_DMM1_I0110467 459 if( dimType == DMM1_IDX && pcCU->isDMM1UpscaleMode((UInt)iWidth) ) 468 460 { … … 475 467 patternStride = dmmSegmentation->getStride (); 476 468 } 477 #else478 biSegPattern = dmmSegmentation->getPattern();479 patternStride = dmmSegmentation->getStride ();480 #endif481 469 } 482 470 #endif … … 495 483 Pel segDC1 = 0; 496 484 Pel segDC2 = 0; 497 #if HS_DMM_SIGNALLING_I0120498 485 if( !pcCU->getSDCFlag( uiAbsPartIdx ) ) 499 #else500 if( dimDeltaDC )501 #endif502 486 { 503 487 Pel deltaDC1 = pcCU->getDimDeltaDC( dimType, 0, uiAbsPartIdx ); … … 568 552 pcCU->getSPAbsPartIdx(uiPartAddr, iSPWidth, iSPHeight, i, iNumSPInOneLine, uiSPAddr[i]); 569 553 } 570 #if SHARP_ARP_CHROMA_I0104571 554 if( pcCU->getARPW( uiPartAddr ) != 0 ) 572 555 { 573 556 return; 574 557 } 575 #endif 558 576 559 // horizontal sub-PU merge 577 560 for (Int i=0; i<iNumSP; i++) … … 745 728 Int uiMinDepth = MAX_INT; 746 729 Int uiMaxDepth = 0; 747 #if SEC_DBBP_DMM4_THRESHOLD_I0076 730 748 731 iSumDepth = pDepthPels[ 0 ]; 749 732 iSumDepth += pDepthPels[ uiWidth - 1 ]; … … 760 743 uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) ]); 761 744 uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ]); 762 #else 763 for (Int y=0; y<uiHeight; y++) 764 { 765 for (Int x=0; x<uiWidth; x++) 766 { 767 Int depthPel = pDepthPels[x]; 768 iSumDepth += depthPel; 769 770 if( depthPel > uiMaxDepth ) 771 { 772 uiMaxDepth = depthPel; 773 } 774 if( depthPel < uiMinDepth ) 775 { 776 uiMinDepth = depthPel; 777 } 778 } 779 780 // next row 781 pDepthPels += uiDepthStride; 782 } 783 #endif 745 784 746 785 747 // don't generate mask for blocks with small depth range (encoder decision) … … 790 752 791 753 AOF(uiWidth==uiHeight); 792 #if SEC_DBBP_DMM4_THRESHOLD_I0076793 754 Int iMean = iSumDepth >> 2; 794 #else795 Int iSizeInBits = g_aucConvertToBit[uiWidth]+2;796 Int iMean = iSumDepth >> iSizeInBits*2; // iMean /= (uiWidth*uiHeight);797 #endif798 755 799 756 // start again for segmentation … … 842 799 } 843 800 844 #if SHARP_DBBP_SIMPLE_FLTER_I0109845 801 Void TComPrediction::combineSegmentsWithMask( TComYuv* pInYuv[2], TComYuv* pOutYuv, Bool* pMask, UInt uiWidth, UInt uiHeight, UInt uiPartAddr, UInt partSize ) 846 #else847 Void TComPrediction::combineSegmentsWithMask( TComYuv* pInYuv[2], TComYuv* pOutYuv, Bool* pMask, UInt uiWidth, UInt uiHeight, UInt uiPartAddr )848 #endif849 802 { 850 803 Pel* piSrc[2] = {pInYuv[0]->getLumaAddr(uiPartAddr), pInYuv[1]->getLumaAddr(uiPartAddr)}; … … 854 807 855 808 UInt uiMaskStride= MAX_CU_SIZE; 856 #if !SHARP_DBBP_SIMPLE_FLTER_I0109857 Pel filSrc = 0;858 #endif859 809 Pel* tmpTar = 0; 860 810 tmpTar = (Pel *)xMalloc(Pel, uiWidth*uiHeight); … … 880 830 } 881 831 882 #if SHARP_DBBP_SIMPLE_FLTER_I0109883 832 if (partSize == SIZE_Nx2N) 884 833 { … … 917 866 } 918 867 } 919 #else920 for (Int y=0; y<uiHeight; y++)921 {922 for (Int x=0; x<uiWidth; x++)923 {924 Bool t = (y==0)?pMaskStart[y*uiMaskStride+x]:pMaskStart[(y-1)*uiMaskStride+x];925 Bool l = (x==0)?pMaskStart[y*uiMaskStride+x]:pMaskStart[y*uiMaskStride+x-1];926 Bool b = (y==uiHeight-1)?pMaskStart[y*uiMaskStride+x]:pMaskStart[(y+1)*uiMaskStride+x];927 Bool r = (x==uiWidth-1)?pMaskStart[y*uiMaskStride+x]:pMaskStart[y*uiMaskStride+x+1];928 Bool c =pMaskStart[y*uiMaskStride+x];929 930 Pel left, right, top, bottom;931 left = (x==0) ? tmpTar[y*uiWidth+x] : tmpTar[y*uiWidth+x-1];932 right = (x==uiWidth-1) ? tmpTar[y*uiWidth+x] : tmpTar[y*uiWidth+x+1];933 top = (y==0) ? tmpTar[y*uiWidth+x] : tmpTar[(y-1)*uiWidth+x];934 bottom = (y==uiHeight-1) ? tmpTar[y*uiWidth+x] : tmpTar[(y+1)*uiWidth+x];935 936 if(!((l&&r&&c) || (!l&&!r&&!c)))937 {938 filSrc = Clip3( Pel( 0 ), Pel( 255 ), Pel(( left + (tmpTar[y*uiWidth+x] << 1) + right ) >> 2 ));939 }940 else941 {942 filSrc = tmpTar[y*uiWidth+x];943 }944 945 if(!((t&&b&&c) || (!t&&!b&&!c)))946 {947 filSrc = Clip3( Pel( 0 ), Pel( 255 ), Pel(( top + (filSrc << 1) + bottom ) >> 2 ));948 }949 piDst[x] = filSrc;950 }951 piDst += uiDstStride;952 }953 #endif954 868 955 869 if ( tmpTar ) { xFree(tmpTar); tmpTar = NULL; } … … 989 903 } 990 904 991 #if SHARP_DBBP_SIMPLE_FLTER_I0109992 905 if (partSize == SIZE_Nx2N) 993 906 { … … 1056 969 } 1057 970 } 1058 #else 1059 for (Int y=0; y<uiHeightC; y++) 1060 { 1061 for (Int x=0; x<uiWidthC; x++) 1062 { 1063 Bool t = (y==0)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[(y-1)*2*uiMaskStride+x*2]; 1064 Bool l = (x==0)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[y*2*uiMaskStride+(x-1)*2]; 1065 Bool b = (y==uiHeightC-1)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[(y+1)*2*uiMaskStride+x*2]; 1066 Bool r = (x==uiWidthC-1)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[y*2*uiMaskStride+(x+1)*2]; 1067 Bool c =pMaskStart[y*2*uiMaskStride+x*2]; 1068 1069 Pel leftU, rightU, topU, bottomU; 1070 leftU = (x==0) ? tmpTarU[y*uiWidthC+x] : tmpTarU[y*uiWidthC+x-1]; 1071 rightU = (x==uiWidthC-1) ? tmpTarU[y*uiWidthC+x] : tmpTarU[y*uiWidthC+x+1]; 1072 topU = (y==0) ? tmpTarU[y*uiWidthC+x] : tmpTarU[(y-1)*uiWidthC+x]; 1073 bottomU = (y==uiHeightC-1) ? tmpTarU[y*uiWidthC+x] : tmpTarU[(y+1)*uiWidthC+x]; 1074 1075 Pel leftV, rightV, topV, bottomV; 1076 leftV = (x==0) ? tmpTarV[y*uiWidthC+x] : tmpTarV[y*uiWidthC+x-1]; 1077 rightV = (x==uiWidthC-1) ? tmpTarV[y*uiWidthC+x] : tmpTarV[y*uiWidthC+x+1]; 1078 topV = (y==0) ? tmpTarV[y*uiWidthC+x] : tmpTarV[(y-1)*uiWidthC+x]; 1079 bottomV = (y==uiHeightC-1) ? tmpTarV[y*uiWidthC+x] : tmpTarV[(y+1)*uiWidthC+x]; 1080 1081 if(!((l&&r&&c) || (!l&&!r&&!c))) 1082 { 1083 filSrcU = Clip3( Pel( 0 ), Pel( 255 ), Pel(( leftU + (tmpTarU[y*uiWidthC+x] << 1) + rightU ) >> 2 )); 1084 filSrcV = Clip3( Pel( 0 ), Pel( 255 ), Pel(( leftV + (tmpTarV[y*uiWidthC+x] << 1) + rightV ) >> 2 )); 1085 } 1086 else 1087 { 1088 filSrcU = tmpTarU[y*uiWidthC+x]; 1089 filSrcV = tmpTarV[y*uiWidthC+x]; 1090 } 1091 1092 if(!((t&&b&&c) || (!t&&!b&&!c))) 1093 { 1094 filSrcU = Clip3( Pel( 0 ), Pel( 255 ), Pel(( topU + (filSrcU << 1) + bottomU ) >> 2 )); 1095 filSrcV = Clip3( Pel( 0 ), Pel( 255 ), Pel(( topV + (filSrcV << 1) + bottomV ) >> 2 )); 1096 } 1097 1098 piDstU[x] = filSrcU; 1099 piDstV[x] = filSrcV; 1100 } 1101 piDstU += uiDstStrideC; 1102 piDstV += uiDstStrideC; 1103 } 1104 #endif 971 1105 972 if ( tmpTarU ) { xFree(tmpTarU); tmpTarU = NULL; } 1106 973 if ( tmpTarV ) { xFree(tmpTarV); tmpTarV = NULL; } … … 1475 1342 pcCU->clipMv(cMv); 1476 1343 TComPicYuv* pcPicYuvRef = pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(); 1477 #if QC_I0129_ARP_FIX1478 1344 xPredInterLumaBlk ( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 ), true ); 1479 1345 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 ), true ); 1480 #else 1481 xPredInterLumaBlk ( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi, true ); 1482 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi, true ); 1483 #endif 1346 1484 1347 if( dW > 0 ) 1485 1348 { … … 1489 1352 TComMv cMVwithDisparity = cMv + cDistparity.m_acNBDV; 1490 1353 pcCU->clipMv(cMVwithDisparity); 1491 #if SHARP_ARP_CHROMA_I01041492 1354 if (iWidth <= 8) 1493 1355 { 1494 1356 pYuvB0->clear(); pYuvB1->clear(); 1495 1357 } 1496 #endif1497 1358 1498 1359 assert ( cDistparity.bDV ); 1499 1360 1500 #if NTT_BUG_FIX_TK541501 1361 TComMv cNBDV = cDistparity.m_acNBDV; 1502 1362 pcCU->clipMv( cNBDV ); 1503 1363 1504 1364 pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec(); 1505 #if QC_I0129_ARP_FIX1506 1365 xPredInterLumaBlk ( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, true, true ); 1507 #if SHARP_ARP_CHROMA_I01041508 1366 if (iWidth > 8) 1509 #endif 1510 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, true, true ); 1511 #else 1512 xPredInterLumaBlk ( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true ); 1513 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true ); 1514 #endif 1515 #else 1516 pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec(); 1517 xPredInterLumaBlk ( pcCU, pcPicYuvRef, uiPartAddr, &cDistparity.m_acNBDV, iWidth, iHeight, pYuvB0, bi, true ); 1518 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cDistparity.m_acNBDV, iWidth, iHeight, pYuvB0, bi, true ); 1519 #endif 1367 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, true, true ); 1520 1368 1521 1369 pcPicYuvRef = pcPicYuvBaseRef->getPicYuvRec(); 1522 #if QC_I0129_ARP_FIX1523 1370 xPredInterLumaBlk ( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, true, true ); 1524 #if SHARP_ARP_CHROMA_I0104 1371 1525 1372 if (iWidth > 8) 1526 #endif 1527 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, true, true ); 1528 #else 1529 xPredInterLumaBlk ( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, bi, true ); 1530 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, bi, true ); 1531 #endif 1373 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, true, true ); 1374 1532 1375 pYuvB0->subtractARP( pYuvB0 , pYuvB1 , uiPartAddr , iWidth , iHeight ); 1533 1376 … … 1540 1383 } 1541 1384 1542 #if QC_I0051_ARP_SIMP1543 1385 Bool TComPrediction::xCheckBiInterviewARP( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eBaseRefPicList, TComPic*& pcPicYuvCurrTRef, TComMv& cBaseTMV, Int& iCurrTRefPoc ) 1544 1386 { … … 1572 1414 Int iCurrRefPOC = pcPicYuvBaseTRef->getPOC(); 1573 1415 Int iCurrRef = pcCU->getSlice()->getFirstTRefIdx(eRefPicListCurr); 1574 #if MTK_I0072_IVARP_SCALING_FIX 1416 1575 1417 if( iCurrRef >= 0 && iCurrPOC != iCurrRefPOC) 1576 #else1577 if( iCurrRef >= 0)1578 #endif1579 1418 { 1580 1419 pcPicYuvCurrTRef = pcCU->getSlice()->getRefPic(eRefPicListCurr,iCurrRef); … … 1608 1447 return false; 1609 1448 } 1610 #endif1611 1449 1612 1450 Void TComPrediction::xPredInterUniARPviewRef( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi, TComMvField * pNewMvFiled ) … … 1643 1481 pcYuvBaseCol->getCUAddrAndPartIdx( irefPUX, irefPUY, uiLCUAddr, uiAbsPartAddr); 1644 1482 TComDataCU *pColCU = pcPicYuvBaseCol->getCU( uiLCUAddr ); 1645 #if QC_I0051_ARP_SIMP1646 1483 if( pcCU->getSlice()->isInterB() && !pcCU->getSlice()->getIsDepth() ) 1647 1484 { … … 1708 1545 1709 1546 if( !pColCU->isIntra( uiAbsPartAddr ) && !bTMVAvai ) 1710 #else1711 if(!pColCU->isIntra(uiAbsPartAddr))1712 #endif1713 1547 { 1714 1548 TComMvField puMVField; … … 1723 1557 Int iCurrRefPOC = pcPicYuvBaseTRef->getPOC(); 1724 1558 Int iCurrRef = pcCU->getSlice()->getFirstTRefIdx(eRefPicListCurr); 1725 #if MTK_I0072_IVARP_SCALING_FIX1726 1559 if (iCurrRef >= 0 && iCurrRefPOC != iCurrPOC) 1727 #else1728 if( iCurrRef >= 0)1729 #endif1730 1560 { 1731 1561 pcPicYuvCurrTRef = pcCU->getSlice()->getRefPic(eRefPicListCurr,iCurrRef); … … 1754 1584 pcPicYuvCurrTRef = pcCU->getSlice()->getRefPic (eRefPicList, pcCU->getSlice()->getFirstTRefIdx(eRefPicList)); 1755 1585 } 1756 #if QC_I0129_ARP_FIX 1586 1757 1587 xPredInterLumaBlk ( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 && bTMVAvai ), bTMVAvai); 1758 1588 xPredInterChromaBlk( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 && bTMVAvai ), bTMVAvai); 1759 #else 1760 xPredInterLumaBlk ( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi, bTMVAvai); 1761 xPredInterChromaBlk( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi, bTMVAvai); 1762 #endif 1589 1763 1590 if( dW > 0 && bTMVAvai ) 1764 1591 { … … 1771 1598 pcCU->clipMv(cBaseTMV); 1772 1599 pcCU->clipMv(cTempMv); 1773 #if SHARP_ARP_CHROMA_I0104 1600 1774 1601 if (iWidth <= 8) 1775 1602 { 1776 1603 pYuvCurrTRef->clear(); pYuvBaseTRef->clear(); 1777 1604 } 1778 #endif1779 #if QC_I0129_ARP_FIX1780 1605 xPredInterLumaBlk ( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, true, true); 1781 #if SHARP_ARP_CHROMA_I0104 1606 1782 1607 if (iWidth > 8) 1783 #endif 1784 xPredInterChromaBlk( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, true, true); 1608 xPredInterChromaBlk( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, true, true); 1609 1785 1610 xPredInterLumaBlk ( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv, iWidth, iHeight, pYuvBaseTRef, true, true); 1786 #if SHARP_ARP_CHROMA_I0104 1611 1787 1612 if (iWidth > 8) 1788 #endif 1789 xPredInterChromaBlk( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv, iWidth, iHeight, pYuvBaseTRef, true, true); 1790 #else 1791 xPredInterLumaBlk ( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, bi, true); 1792 xPredInterChromaBlk( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, bi, true); 1793 xPredInterLumaBlk ( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv, iWidth, iHeight, pYuvBaseTRef, bi, true); 1794 xPredInterChromaBlk( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv, iWidth, iHeight, pYuvBaseTRef, bi, true); 1795 1796 #endif 1613 xPredInterChromaBlk( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv, iWidth, iHeight, pYuvBaseTRef, true, true); 1614 1797 1615 pYuvCurrTRef->subtractARP( pYuvCurrTRef , pYuvBaseTRef , uiPartAddr , iWidth , iHeight ); 1798 1616 if(dW == 2) … … 1803 1621 } 1804 1622 } 1805 1806 1623 #endif 1807 1624 … … 2328 2145 Int iRecStride = ( eType == TEXT_LUMA ) ? pRecPic->getStride() : pRecPic->getCStride(); 2329 2146 Int iRefStride = ( eType == TEXT_LUMA ) ? pRefPic->getStride() : pRefPic->getCStride(); 2330 #if SEC_IC_NEIGHBOR_CLIP_I00802331 2147 Int iRefOffset, iHor, iVer; 2332 #else2333 Int iCUPelX, iCUPelY, iRefX, iRefY, iRefOffset, iHor, iVer;2334 2335 iCUPelX = pcCU->getCUPelX() + g_auiRasterToPelX[g_auiZscanToRaster[pcCU->getZorderIdxInCU()]];2336 iCUPelY = pcCU->getCUPelY() + g_auiRasterToPelY[g_auiZscanToRaster[pcCU->getZorderIdxInCU()]];2337 #endif2338 2148 iHor = pcCU->getSlice()->getIsDepth() ? pMv->getHor() : ( ( pMv->getHor() + 2 ) >> 2 ); 2339 2149 iVer = pcCU->getSlice()->getIsDepth() ? pMv->getVer() : ( ( pMv->getVer() + 2 ) >> 2 ); 2340 #if !SEC_IC_NEIGHBOR_CLIP_I00802341 iRefX = iCUPelX + iHor;2342 iRefY = iCUPelY + iVer;2343 #endif2344 2150 if( eType != TEXT_LUMA ) 2345 2151 { … … 2357 2163 Int precShift = std::max(0, (( eType == TEXT_LUMA ) ? g_bitDepthY : g_bitDepthC) - 12); 2358 2164 2359 #if SEC_IC_NEIGHBOR_CLIP_I00802360 2165 if( pcCU->getPUAbove( uiTmpPartIdx, pcCU->getZorderIdxInCU() ) ) 2361 #else2362 if( pcCU->getPUAbove( uiTmpPartIdx, pcCU->getZorderIdxInCU() ) && iCUPelY > 0 && iRefY > 0 )2363 #endif2364 2166 { 2365 2167 iRefOffset = iHor + iVer * iRefStride - iRefStride; … … 2391 2193 } 2392 2194 2393 #if SEC_IC_NEIGHBOR_CLIP_I00802394 2195 if( pcCU->getPULeft( uiTmpPartIdx, pcCU->getZorderIdxInCU() ) ) 2395 #else2396 if( pcCU->getPULeft( uiTmpPartIdx, pcCU->getZorderIdxInCU() ) && iCUPelX > 0 && iRefX > 0 )2397 #endif2398 2196 { 2399 2197 iRefOffset = iHor + iVer * iRefStride - 1; … … 2429 2227 } 2430 2228 2431 #if FIX_TICKET_712432 2229 if( iCountShift == 0 ) 2433 2230 { … … 2436 2233 return; 2437 2234 } 2438 #endif2439 2235 2440 2236 xy += xx >> IC_REG_COST_SHIFT; … … 2553 2349 // find contour for texture luma block 2554 2350 UInt iDC = 0; 2555 #if SEC_DBBP_DMM4_THRESHOLD_I0076 2351 2556 2352 iDC = piRefBlkY[ 0 ]; 2557 2353 iDC += piRefBlkY[ uiWidth - 1 ]; … … 2559 2355 iDC += piRefBlkY[ uiWidth * (uiHeight - 1) + uiWidth - 1 ]; 2560 2356 iDC = iDC >> 2; 2561 #else2562 for( UInt k = 0; k < (uiWidth*uiHeight); k++ )2563 {2564 iDC += piRefBlkY[k];2565 }2566 2567 Int cuMaxLog2Size = g_aucConvertToBit[g_uiMaxCUWidth]+2; //2568 iDC = iDC >> (cuMaxLog2Size - pcCU->getDepth(0))*2; // iDC /= (uiWidth*uiHeight);2569 #endif2570 2357 2571 2358 piRefBlkY = cTempYuv.getLumaAddr();
Note: See TracChangeset for help on using the changeset viewer.