Changeset 244 in 3DVCSoftware for branches/HTM-5.1-dev2-Mediatek/source
- Timestamp:
- 31 Jan 2013, 03:48:51 (12 years ago)
- Location:
- branches/HTM-5.1-dev2-Mediatek/source/Lib
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp
r243 r244 3272 3272 #endif 3273 3273 3274 #if LG_RESTRICTEDRESPRED_M24766 3274 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3275 3275 Int TComDataCU::getResiPredMode(UInt uiPartAddr) 3276 3276 { … … 3676 3676 #endif 3677 3677 3678 #if MTK_MDIVRP_C0138 3679 Bool bDVAvail = true; 3680 #endif 3681 3678 3682 #if QC_MULTI_DIS_CAN_A0097 3679 3683 DisInfo cDisInfo; … … 3702 3706 cDisInfo.m_acMvCand[0].setVer(0); 3703 3707 cDisInfo.m_aVIdxCan[0] = 0; 3708 #if MTK_MDIVRP_C0138 3709 bDVAvail = false; 3710 #endif 3704 3711 } 3705 3712 #if QC_MRG_CANS_B0048 … … 3719 3726 Int iPdmInterDir = getPdmMergeCandidate( uiPUIdx, aiPdmRefIdx, acPdmMv ); 3720 3727 #endif 3728 #if MTK_MDIVRP_C0138 3729 if (m_pcSlice->getSPS()->getMultiviewResPredMode()==1 && iPdmDir[0] && !bNoPdmMerge && cCurPS == SIZE_2Nx2N && bDVAvail) 3730 { 3731 setResPredAvailSubParts(true, 0, 0, uiDepth); 3732 } 3733 #endif 3734 3721 3735 #if QC_MRG_CANS_B0048 3722 3736 if( iPdmDir[0] && !bNoPdmMerge && PDM_MERGE_POS == 0 ) -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibCommon/TComDataCU.h
r237 r244 607 607 Void getPartIndexAndSize ( UInt uiPartIdx, UInt& ruiPartAddr, Int& riWidth, Int& riHeight ); 608 608 #endif 609 #if LG_RESTRICTEDRESPRED_M24766 609 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 610 610 Int getResiPredMode(UInt uiPartAddr); 611 611 Void getPUResiPredShift (Int *iPUPredResiShift, UInt uiAbsPartIndex); -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibCommon/TComPrediction.cpp
r210 r244 754 754 } 755 755 756 756 #if MTK_MDIVRP_C0138 757 Void TComPrediction::residualPrediction(TComDataCU* pcCU, TComYuv* pcYuvPred, TComYuv* pcYuvResPred) 758 { 759 Int iWidth; 760 Int iHeight; 761 UInt uiPartAddr; 762 763 pcCU->getPartIndexAndSize( 0, uiPartAddr, iWidth, iHeight ); 764 765 Bool bResAvail = false; 766 767 bResAvail = pcCU->getResidualSamples( 0, 768 #if QC_SIMPLIFIEDIVRP_M24938 769 true, 770 #endif 771 pcYuvResPred ); 772 773 assert (bResAvail); 774 775 pcYuvPred->add(pcYuvResPred, iWidth, iHeight); 776 } 777 #endif 757 778 758 779 #if DEPTH_MAP_GENERATION -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibCommon/TComPrediction.h
r210 r244 151 151 #endif 152 152 153 #if MTK_MDIVRP_C0138 154 Void residualPrediction (TComDataCU* pcCU, TComYuv* pcYuvPred, TComYuv* pcYuvResPred); 155 #endif 156 153 157 // motion vector prediction 154 158 Void getMvPredAMVP ( TComDataCU* pcCU, UInt uiPartIdx, UInt uiPartAddr, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMvPred ); -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibCommon/TComResidualGenerator.cpp
r189 r244 184 184 AOF ( pcPic ); 185 185 186 #if MTK_MDIVRP_C0138 187 if (pcPic->getSPS()->getViewId() != 0) 188 { 189 return; 190 } 191 #endif 192 186 193 if( pcPic->getPOC() == 0 ) 187 194 { … … 296 303 ); 297 304 #endif 305 #if MTK_MDIVRP_C0138 306 return true; 307 #else 298 308 #if QC_SIMPLIFIEDIVRP_M24938 299 309 return xIsNonZeroByCBF( uiBaseViewId , uiXPosInRefView , uiYPosInRefView , uiBlkWidth , uiBlkHeight ); 300 310 #else 301 311 return xIsNonZero( pcYuv, uiBlkWidth, uiBlkHeight ); 312 #endif 302 313 #endif 303 314 } … … 419 430 Pel* pRes = pcCUResidual->getLumaAddr(); 420 431 UInt uiLumaTrMode, uiChromaTrMode; 421 #if LG_RESTRICTEDRESPRED_M24766 432 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 422 433 Int iPUPredResiShift[4]; 423 434 #endif … … 445 456 m_pcTrQuant->invRecurTransformNxN ( pcCU, 0, TEXT_CHROMA_V, pRes, 0, pcCUResidual->getCStride(), uiWidth, uiHeight, uiChromaTrMode, 0, piCoeff ); 446 457 458 #if !MTK_MDIVRP_C0138 447 459 if( pcCU->getResPredFlag( 0 ) ) 448 460 { … … 461 473 #endif 462 474 } 475 #endif 463 476 464 477 //===== clear inter-view predicted parts ===== -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibCommon/TComYuv.cpp
r189 r244 392 392 } 393 393 394 #if LG_RESTRICTEDRESPRED_M24766 394 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 395 395 Void 396 396 TComYuv::add(Int *iPUResiPredShift, PartSize uhPartitionSize, TComYuv* pcYuvAdd, Int iWidth, Int iHeight, Bool bSubtract ) … … 408 408 #endif 409 409 410 #if LG_RESTRICTEDRESPRED_M24766 410 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 411 411 Void 412 412 TComYuv::getPUXYOffset(PartSize uhPartitionSize, Int iWidth, Int iHeight, Int &iXOffset, Int &iYOffset) … … 435 435 #endif 436 436 437 #if LG_RESTRICTEDRESPRED_M24766 437 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 438 438 Void 439 439 TComYuv::addLuma(Int *iPUResiPredShift, PartSize uhPartitionSize, TComYuv* pcYuvAdd, Int iWidth, Int iHeight, Bool bSubtract ) … … 449 449 Pel* pDstSamples = getLumaAddr(); 450 450 451 #if LG_RESTRICTEDRESPRED_M24766 451 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 452 452 Int iXOffset, iYOffset; 453 453 … … 502 502 } 503 503 504 #if LG_RESTRICTEDRESPRED_M24766 504 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 505 505 Void 506 506 TComYuv::addChroma(Int *iPUResiPredShift, PartSize uhPartitionSize, TComYuv* pcYuvAdd, Int iWidth, Int iHeight, Bool bSubtract ) … … 518 518 Pel* pDstSamplesCr = getCrAddr(); 519 519 520 #if LG_RESTRICTEDRESPRED_M24766 520 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 521 521 Int iXOffset, iYOffset; 522 522 … … 676 676 } 677 677 678 #if LG_RESTRICTEDRESPRED_M24766 678 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 679 679 Void TComYuv::subtract(Int *iPUResiPredShift, PartSize uhPartitionSize, TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiTrUnitIdx, UInt uiPartSize ) 680 680 { … … 690 690 #endif 691 691 692 #if LG_RESTRICTEDRESPRED_M24766 692 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 693 693 Void TComYuv::subtractLuma(Int *iPUResiPredShift, PartSize uhPartitionSize, TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiTrUnitIdx, UInt uiPartSize ) 694 694 #else … … 706 706 Int iDstStride = getStride(); 707 707 708 #if LG_RESTRICTEDRESPRED_M24766 708 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 709 709 Int iXOffset, iYOffset; 710 710 … … 814 814 } 815 815 816 #if LG_RESTRICTEDRESPRED_M24766 816 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 817 817 Void TComYuv::subtractChroma(Int *iPUResiPredShift, PartSize uhPartitionSize, TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiTrUnitIdx, UInt uiPartSize ) 818 818 #else … … 832 832 Int iSrc1Stride = pcYuvSrc1->getCStride(); 833 833 Int iDstStride = getCStride(); 834 #if LG_RESTRICTEDRESPRED_M24766 834 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 835 835 Int iXOffset, iYOffset; 836 836 -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibCommon/TComYuv.h
r100 r244 146 146 Void addClipPartLuma ( TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiTrUnitIdx, UInt uiPartSize ); //GT 147 147 148 #if LG_RESTRICTEDRESPRED_M24766 148 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 149 149 // pcYuvSrc0 - pcYuvSrc1 -> m_apiBuf 150 150 Void subtract (Int *iPUResiPredShift, PartSize uhPartitionSize, TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiTrUnitIdx, UInt uiPartSize ); … … 166 166 // Remove High frequency 167 167 Void removeHighFreq ( TComYuv* pcYuvSrc, UInt uiPartIdx, UInt uiWidht, UInt uiHeight ); 168 #if LG_RESTRICTEDRESPRED_M24766 168 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 169 169 Void getPUXYOffset (PartSize uhPartitionSize, Int iWidth, Int iHeight, Int &iXOffset, Int &iYOffset); 170 170 Void add (Int *iPUResiPredShift, PartSize uhPartitionSize, TComYuv* pcYuvAdd, Int iWidth, Int iHeight, Bool bSubtract = false ); -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibCommon/TypeDef.h
r243 r244 99 99 #define HHI_INTER_VIEW_RESIDUAL_PRED 1 // inter-view residual prediction 100 100 #if HHI_INTER_VIEW_RESIDUAL_PRED 101 #define MTK_MDIVRP_C0138 1 // mode-dependent inter-view residual prediction 101 102 #define LG_RESTRICTEDRESPRED_M24766 1 // restricted inter-view residual prediction 102 103 #define QC_SIMPLIFIEDIVRP_M24938 1 -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibDecoder/TDecCu.cpp
r189 r244 400 400 } 401 401 #endif 402 #if HHI_INTER_VIEW_RESIDUAL_PRED 402 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 403 403 m_pcEntropyDecoder->decodeResPredFlag( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth], 0 ); 404 404 #endif … … 452 452 #endif 453 453 454 #if HHI_INTER_VIEW_RESIDUAL_PRED 454 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 455 455 if( !pcCU->isIntra( uiAbsPartIdx ) ) 456 456 { … … 660 660 m_pcPrediction->motionCompensation( pcCU, m_ppcYuvReco[uiDepth] ); 661 661 662 #if MTK_MDIVRP_C0138 663 if (pcCU->getMergeFlag(0) && pcCU->getMergeIndex(0)==0 && pcCU->getResPredAvail(0)) 664 { 665 m_pcPrediction->residualPrediction(pcCU, m_ppcYuvReco[uiDepth], m_ppcYuvResPred[uiDepth]); 666 } 667 #endif 668 662 669 #if HHI_MPI 663 670 if( pcCU->getTextureModeDepth( 0 ) != -1 ) … … 665 672 #endif 666 673 667 #if HHI_INTER_VIEW_RESIDUAL_PRED 674 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 668 675 if( pcCU->getResPredFlag( 0 ) ) 669 676 { … … 696 703 { 697 704 #if HHI_INTER_VIEW_RESIDUAL_PRED 705 #if MTK_MDIVRP_C0138 706 if (pcCU->getMergeFlag(0) && pcCU->getMergeIndex(0)==0 && pcCU->getResPredAvail(0)) 707 #else 698 708 if( pcCU->getResPredFlag( 0 ) ) 709 #endif 699 710 { 700 711 m_ppcYuvReco[uiDepth]->clip( pcCU->getWidth( 0 ), pcCU->getHeight( 0 ) ); -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibDecoder/TDecEntropy.cpp
r189 r244 100 100 } 101 101 102 #if HHI_INTER_VIEW_RESIDUAL_PRED 102 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 103 103 Void 104 104 TDecEntropy::decodeResPredFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, TComDataCU* pcSubCU, UInt uiPUIdx ) -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibDecoder/TDecEntropy.h
r210 r244 210 210 Void decodeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ); 211 211 Void decodeMergeIndex ( TComDataCU* pcSubCU, UInt uiPartIdx, UInt uiPartAddr, PartSize eCUMode, UChar* puhInterDirNeighbours, TComMvField* pcMvFieldNeighbours, UInt uiDepth ); 212 #if HHI_INTER_VIEW_RESIDUAL_PRED 212 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 213 213 Void decodeResPredFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, TComDataCU* pcSubCU, UInt uiPUIdx ); 214 214 #endif -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncCu.cpp
r189 r244 636 636 { 637 637 #if HHI_INTER_VIEW_RESIDUAL_PRED 638 #if MTK_MDIVRP_C0138 639 Bool bResPredAvailable = false; 640 UInt uiResPrdId = 0; 641 #else 638 642 // check availability of residual prediction 639 643 Bool bResPredAvailable = false; … … 651 655 652 656 for( UInt uiResPrdId = 0; uiResPrdId < ( bResPredAvailable ? 2 : 1 ); uiResPrdId++ ) 657 #endif 653 658 { 654 659 Bool bResPredFlag = ( uiResPrdId > 0 ); … … 764 769 { 765 770 #if HHI_INTER_VIEW_RESIDUAL_PRED 771 #if MTK_MDIVRP_C0138 772 Bool bResPredAvailable = false; 773 UInt uiResPrdId = 0; 774 #else 766 775 // check availability of residual prediction 767 776 Bool bResPredAvailable = false; … … 779 788 780 789 for( UInt uiResPrdId = 0; uiResPrdId < ( bResPredAvailable ? 2 : 1 ); uiResPrdId++ ) 790 #endif 781 791 { 782 792 Bool bResPredFlag = ( uiResPrdId > 0 ); … … 1789 1799 m_pcEntropyCoder->encodeICFlag ( pcCU, uiAbsPartIdx ); 1790 1800 #endif 1791 #if HHI_INTER_VIEW_RESIDUAL_PRED 1801 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 1792 1802 m_pcEntropyCoder->encodeResPredFlag( pcCU, uiAbsPartIdx, 0 ); 1793 1803 #endif … … 1820 1830 m_pcEntropyCoder->encodeICFlag ( pcCU, uiAbsPartIdx ); 1821 1831 #endif 1822 #if HHI_INTER_VIEW_RESIDUAL_PRED 1832 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 1823 1833 if( !pcCU->isIntra( uiAbsPartIdx ) ) 1824 1834 { … … 1860 1870 Int numValidMergeCand = 0; 1861 1871 1862 #if HHI_INTER_VIEW_RESIDUAL_PRED 1872 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 1863 1873 Bool bResPrdAvail = rpcTempCU->getResPredAvail( 0 ); 1864 1874 Bool bResPrdFlag = rpcTempCU->getResPredFlag ( 0 ); … … 1891 1901 rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to LCU level 1892 1902 rpcTempCU->getInterMergeCandidates( 0, 0, uhDepth, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand ); 1903 1904 #if MTK_MDIVRP_C0138 1905 Bool bResPredAvail = rpcTempCU->getResPredAvail(0); 1906 #endif 1893 1907 1894 1908 #if FAST_DECISION_FOR_MRG_RD_COST … … 1938 1952 1939 1953 #if HHI_INTER_VIEW_RESIDUAL_PRED 1954 #if MTK_MDIVRP_C0138 1955 rpcTempCU->setResPredAvailSubParts(bResPredAvail, 0, 0, uhDepth); 1956 #else 1940 1957 rpcTempCU->setResPredAvailSubParts( bResPrdAvail, 0, 0, uhDepth ); 1941 1958 rpcTempCU->setResPredFlagSubParts ( bResPrdFlag, 0, 0, uhDepth ); 1959 #endif 1942 1960 #endif 1943 1961 #if LGE_ILLUCOMP_B0045 … … 1953 1971 { 1954 1972 m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] ); 1973 #if MTK_MDIVRP_C0138 1974 if (uiMergeCand == 0 && rpcTempCU->getResPredAvail(0)) 1975 { 1976 m_pcPredSearch->residualPrediction(rpcTempCU, m_ppcPredYuvTemp[uhDepth], m_ppcResPredTmp [uhDepth]); 1977 } 1978 #endif 1955 1979 // save pred adress 1956 1980 pcPredYuvTemp = m_ppcPredYuvTemp[uhDepth]; … … 1963 1987 { 1964 1988 m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] ); 1989 #if MTK_MDIVRP_C0138 1990 if (uiMergeCand == 0 && rpcTempCU->getResPredAvail(0)) 1991 { 1992 m_pcPredSearch->residualPrediction(rpcTempCU, m_ppcPredYuvTemp[uhDepth], m_ppcResPredTmp [uhDepth]); 1993 } 1994 #endif 1965 1995 // save pred adress 1966 1996 pcPredYuvTemp = m_ppcPredYuvTemp[uhDepth]; … … 2083 2113 rpcTempCU->setMergeAMP (true); 2084 2114 #if HHI_INTERVIEW_SKIP 2085 #if LG_RESTRICTEDRESPRED_M24766 2115 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 2086 2116 m_pcPredSearch->predInterSearch ( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcResPredTmp[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcRecoYuvTemp[uhDepth], bSkipRes, bUseMRG ); 2087 2117 #else -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncEntropy.cpp
r210 r244 489 489 } 490 490 491 #if HHI_INTER_VIEW_RESIDUAL_PRED 491 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 492 492 Void 493 493 TEncEntropy::encodeResPredFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx, Bool bRD ) -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncEntropy.h
r210 r244 270 270 Void encodeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx ); 271 271 Void encodeMergeIndex ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx, Bool bRD = false ); 272 #if HHI_INTER_VIEW_RESIDUAL_PRED 272 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 273 273 Void encodeResPredFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx, Bool bRD = false ); 274 274 #endif -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncSearch.cpp
r210 r244 2942 2942 #endif 2943 2943 #else 2944 #if LG_RESTRICTEDRESPRED_M24766 2944 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 2945 2945 Void TEncSearch::xMergeEstimation( TComDataCU* pcCU, TComYuv* pcYuvOrg, TComYuv* rpcResiPredYuv, Int iPUIdx, UInt& uiInterDir, TComMvField* pacMvField, UInt& uiMergeIndex, UInt& ruiCost ) 2946 2946 #else … … 2994 2994 const int maxNumMergeCand = MRG_MAX_NUM_CANDS_SIGNALED + ( pcCU->getSlice()->getSPS()->getMultiviewMvPredMode() ? 1 : 0 ); 2995 2995 #endif 2996 #if LG_RESTRICTEDRESPRED_M24766 2996 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 2997 2997 Int iPUResiPredShift[4]; 2998 2998 Int iLastAddResiShift = -1000; … … 3009 3009 pcCU->getCUMvField(REF_PIC_LIST_0)->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 3010 3010 pcCU->getCUMvField(REF_PIC_LIST_1)->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 3011 #if LG_RESTRICTEDRESPRED_M24766 3011 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3012 3012 Int iAddResiShift; 3013 3013 UInt uiPartAddr; … … 3059 3059 } 3060 3060 } 3061 #if LG_RESTRICTEDRESPRED_M24766 3061 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3062 3062 if( pcCU->getResPredFlag( 0 ) && iLastAddResiShift >= 0) 3063 3063 { … … 3078 3078 */ 3079 3079 #if AMP_MRG 3080 #if LG_RESTRICTEDRESPRED_M24766 3080 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3081 3081 Void TEncSearch::predInterSearch( TComDataCU* pcCU, TComYuv* pcOrgYuv, TComYuv* rpcResiPredYuv, TComYuv*& rpcPredYuv, TComYuv*& rpcResiYuv, TComYuv*& rpcRecoYuv, Bool bUseRes, Bool bUseMRG ) 3082 3082 #else … … 3185 3185 for (Int iNumRef=0; iNumRef < MAX_NUM_REF; iNumRef++) uiCostTempL0[iNumRef] = MAX_UINT; 3186 3186 UInt uiBitsTempL0[MAX_NUM_REF]; 3187 #if LG_RESTRICTEDRESPRED_M24766 3187 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3188 3188 Int iPUResiPredShift[4] = {0, 0, 0, 0}; 3189 3189 #endif … … 3203 3203 { 3204 3204 #endif 3205 #if LG_RESTRICTEDRESPRED_M24766 3205 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3206 3206 Bool bLastResiFlag = false; 3207 3207 #endif … … 3213 3213 for ( Int iRefIdxTemp = 0; iRefIdxTemp < pcCU->getSlice()->getNumRefIdx(eRefPicList); iRefIdxTemp++ ) 3214 3214 { 3215 #if LG_RESTRICTEDRESPRED_M24766 3215 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3216 3216 if( pcCU->getResPredFlag( 0 )) 3217 3217 { … … 3393 3393 } 3394 3394 } 3395 #if LG_RESTRICTEDRESPRED_M24766 3395 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3396 3396 if( pcCU->getResPredFlag( 0 ) && bLastResiFlag) 3397 3397 { // subtract residual prediction from original in motion search … … 3402 3402 if ( pcCU->getSlice()->isInterB() ) 3403 3403 { 3404 #if LG_RESTRICTEDRESPRED_M24766 3404 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3405 3405 Int iLastAddResiShift = -1000; 3406 3406 #endif … … 3507 3507 uiBitsTemp += m_auiMVPIdxCost[aaiMvpIdxBi[iRefList][iRefIdxTemp]][AMVP_MAX_NUM_CANDS]; 3508 3508 #endif 3509 #if LG_RESTRICTEDRESPRED_M24766 3509 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3510 3510 Int iAddResiShift = -1, iPredFrom = 0; 3511 3511 Int iBestRefIdx = pcCU->getCUMvField(eRefPicList == REF_PIC_LIST_0 ? REF_PIC_LIST_1 : REF_PIC_LIST_0)->getRefIdx(uiPartAddr); … … 3592 3592 } 3593 3593 } // for loop-iter 3594 #if LG_RESTRICTEDRESPRED_M24766 3594 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3595 3595 if( pcCU->getResPredFlag( 0 ) && iLastAddResiShift >= 0) 3596 3596 { … … 3805 3805 if (bTestNormalMC) 3806 3806 { 3807 #if LG_RESTRICTEDRESPRED_M24766 3807 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3808 3808 Int iAddResiShift = pcCU->getResiPredMode(uiPartAddr); 3809 3809 iPUResiPredShift[0] = iPUResiPredShift[1] = iPUResiPredShift[2] = iPUResiPredShift[3] = \ … … 3816 3816 xGetInterPredictionError( pcCU, pcOrgYuv, iPartIdx, uiMEError, m_pcEncCfg->getUseHADME() ); 3817 3817 uiMECost = uiMEError + m_pcRdCost->getCost( uiMEBits ); 3818 #if LG_RESTRICTEDRESPRED_M24766 3818 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3819 3819 if(pcCU->getResPredFlag(0) && iAddResiShift >= 0) 3820 3820 { … … 3843 3843 #endif 3844 3844 #else 3845 #if LG_RESTRICTEDRESPRED_M24766 3845 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 3846 3846 xMergeEstimation( pcCU, pcOrgYuv, rpcResiPredYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost ); 3847 3847 #else … … 4754 4754 UInt uiWidth = pcCU->getWidth ( 0 ); 4755 4755 UInt uiHeight = pcCU->getHeight( 0 ); 4756 #if LG_RESTRICTEDRESPRED_M24766 4756 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 4757 4757 Int iPUResiPredShift[4]; 4758 4758 #endif … … 4764 4764 pcYuvPred->copyToPartYuv( rpcYuvRec, 0 ); 4765 4765 4766 #if MTK_MDIVRP_C0138 4767 if (pcCU->getMergeFlag(0) && pcCU->getMergeIndex(0)==0 && pcCU->getResPredAvail(0)) 4768 { 4769 rpcYuvRec->clip( uiWidth, uiHeight ); 4770 } 4771 #else 4766 4772 #if HHI_INTER_VIEW_RESIDUAL_PRED 4767 4773 // add residual prediction … … 4776 4782 rpcYuvRec->clip( uiWidth, uiHeight ); 4777 4783 } 4784 #endif 4778 4785 #endif 4779 4786 … … 4821 4828 m_pcEntropyCoder->encodeICFlag(pcCU, 0, true); 4822 4829 #endif 4823 #if HHI_INTER_VIEW_RESIDUAL_PRED 4830 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 4824 4831 m_pcEntropyCoder->encodeResPredFlag( pcCU, 0, 0, true ); 4825 4832 #endif … … 4899 4906 else 4900 4907 { 4901 #if LG_RESTRICTEDRESPRED_M24766 4908 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 4902 4909 iPUResiPredShift[0] = iPUResiPredShift[1] = iPUResiPredShift[2] = iPUResiPredShift[3] = 0; 4903 4910 rpcYuvResi->subtract(iPUResiPredShift, pcCU->getPartitionSize(0), pcYuvOrg, pcYuvPred, 0, uiWidth ); … … 4905 4912 rpcYuvResi->subtract( pcYuvOrg, pcYuvPred, 0, uiWidth ); 4906 4913 #endif 4907 #if HHI_INTER_VIEW_RESIDUAL_PRED 4914 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 4908 4915 // subtract residual prediction 4909 4916 if( pcCU->getResPredFlag( 0 ) ) … … 5127 5134 #endif 5128 5135 } 5129 #if HHI_INTER_VIEW_RESIDUAL_PRED 5136 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 5130 5137 // add residual prediction 5131 5138 if( pcCU->getResPredFlag( 0 ) ) … … 6204 6211 m_pcEntropyCoder->encodeICFlag(pcCU, 0, true); 6205 6212 #endif 6206 #if HHI_INTER_VIEW_RESIDUAL_PRED 6213 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 6207 6214 m_pcEntropyCoder->encodeResPredFlag( pcCU, 0, 0, true ); 6208 6215 #endif … … 6227 6234 m_pcEntropyCoder->encodeICFlag(pcCU, 0, true); 6228 6235 #endif 6229 #if HHI_INTER_VIEW_RESIDUAL_PRED 6236 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 6230 6237 m_pcEntropyCoder->encodeResPredFlag( pcCU, 0, 0, true ); 6231 6238 #endif -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncSearch.h
r210 r244 196 196 Void predInterSearch ( TComDataCU* pcCU, 197 197 TComYuv* pcOrgYuv, 198 #if LG_RESTRICTEDRESPRED_M24766 198 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 199 199 TComYuv* rpcResiPredYuv, 200 200 #endif … … 500 500 Void xMergeEstimation ( TComDataCU* pcCU, 501 501 TComYuv* pcYuvOrg, 502 #if LG_RESTRICTEDRESPRED_M24766 502 #if LG_RESTRICTEDRESPRED_M24766 && !MTK_MDIVRP_C0138 503 503 TComYuv* rpcResiPredYuv, 504 504 #endif
Note: See TracChangeset for help on using the changeset viewer.