Changeset 296 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComDepthMapGenerator.cpp
- Timestamp:
- 20 Feb 2013, 22:07:43 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibCommon/TComDepthMapGenerator.cpp
r189 r296 46 46 #if DEPTH_MAP_GENERATION 47 47 48 49 48 TComDepthMapGenerator::TComDepthMapGenerator() 50 49 { … … 78 77 m_uiSubSampExpX = uiSubSampExpX; 79 78 m_uiSubSampExpY = uiSubSampExpY; 80 #if ! QC_MULTI_DIS_CAN_A009779 #if !H3D_NBDV 81 80 m_ppcYuv = new TComYuv* [ m_uiMaxDepth ]; 82 81 m_ppcCU = new TComDataCU* [ m_uiMaxDepth ]; … … 92 91 m_cTmpPic.create( uiPicWidth >> m_uiSubSampExpX, uiPicHeight >> m_uiSubSampExpY, uiMaxCUWidth >> m_uiSubSampExpX, uiMaxCUHeight >> m_uiSubSampExpY, uiMaxCUDepth ); 93 92 xSetChroma( &m_cTmpPic, ( 1 << uiOrgBitDepth ) >> 1 ); 94 #endif 93 #endif //!H3D_NBDV 95 94 m_bCreated = true; 96 95 } … … 102 101 { 103 102 m_bCreated = false; 104 #if ! QC_MULTI_DIS_CAN_A0097103 #if !H3D_NBDV 105 104 for( UInt uiDepth = 0; uiDepth < m_uiMaxDepth; uiDepth++ ) 106 105 { … … 117 116 delete [] m_ppcCU; m_ppcCU = 0; 118 117 m_cTmpPic.destroy(); 119 #endif 118 #endif //!H3D_NBDV 120 119 m_uiMaxDepth = 0; 121 120 m_uiOrgDepthBitDepth = 0; … … 377 376 } 378 377 379 #if ! QC_MULTI_DIS_CAN_A0097378 #if !H3D_NBDV 380 379 Bool 381 380 TComDepthMapGenerator::predictDepthMap( TComPic* pcPic ) … … 562 561 m_cTmpPic.dump( acFilename, ( pcPic->getPOC() != 0 ) ); 563 562 } 564 #endif 565 566 #if HHI_INTER_VIEW_MOTION_PRED 563 564 #endif //!H3D_NBDV 565 566 #if H3D_IVMP 567 567 Void 568 568 TComDepthMapGenerator::covertOrgDepthMap( TComPic* pcPic ) … … 604 604 605 605 606 #if HHI_INTER_VIEW_MOTION_PRED 607 #if QC_MULTI_DIS_CAN_A0097 608 Int 609 TComDepthMapGenerator::getPdmMergeCandidate( TComDataCU* pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo 610 #if QC_MRG_CANS_B0048 611 , Int* iPdm 612 #endif 613 ) 614 #else 615 Int 616 TComDepthMapGenerator::getPdmMergeCandidate( TComDataCU* pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv ) 617 #endif 618 { 619 #if MTK_INTERVIEW_MERGE_A0049 606 #if H3D_IVMP 607 #if QC_AMVP_MRG_UNIFY_IVCAN_C0051 608 Bool 609 TComDepthMapGenerator::getPdmCandidate(TComDataCU* pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* iPdm, Bool bMerge ) 610 { 620 611 AOF ( m_bCreated && m_bInit ); 621 622 #if !QC_MULTI_DIS_CAN_A0097623 ROFRS( m_bPDMAvailable, 0 );624 #endif625 626 612 TComSlice* pcSlice = pcCU->getSlice (); 627 613 TComSPS* pcSPS = pcSlice->getSPS(); 628 614 AOF ( pcSPS->getViewId() == m_uiCurrViewId ); 615 616 TComPic* pcRefPic = pcSlice->getRefPic( eRefPicList, iRefIdx ); 617 UInt uiRefViewId = pcRefPic->getSPS()->getViewId(); 618 Bool bInterview = ( uiRefViewId < m_uiCurrViewId ); 619 Bool bPdmIView = ( ( pcSPS->getMultiviewMvPredMode() & PDM_USE_FOR_IVIEW ) == PDM_USE_FOR_IVIEW ); 620 Bool bPdmInter = ( ( pcSPS->getMultiviewMvPredMode() & PDM_USE_FOR_INTER ) == PDM_USE_FOR_INTER ); 629 621 Bool bPdmMerge = ( ( pcSPS->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) == PDM_USE_FOR_MERGE ); 630 ROTRS( !bPdmMerge, 0 ); 631 632 #if QC_MRG_CANS_B0048 622 if(!bMerge) 623 { 624 ROTRS( ( bInterview && !bMerge ) && !bPdmIView, false ); 625 ROTRS( (!bInterview && !bMerge ) && !bPdmInter, false ); 626 ROTRS( bMerge && !bPdmMerge, false ); 627 } 628 else 629 ROTRS( !bPdmMerge, 0 ); 630 631 633 632 Bool abPdmAvailable[4] = {false, false, false, false}; 634 #else635 Bool abPdmAvailable[2] = {false,false};636 #endif637 633 638 634 Int iValid = 0; … … 640 636 for( UInt uiBId = 0; uiBId < m_uiCurrViewId && iValid==0; uiBId++ ) 641 637 { 638 #if MTK_C0138_FIXED 639 UInt uiBaseId = uiBId; 640 #else 642 641 UInt uiBaseId = m_auiBaseIdList[ uiBId ]; 642 #endif 643 643 TComPic* pcBasePic = m_pcAUPicAccess->getPic( uiBaseId ); 644 644 for( Int iRefListId = 0; iRefListId < 2 && iValid==0; iRefListId++ ) … … 659 659 } 660 660 if (iValid == 0) 661 return 0;661 return false; 662 662 663 663 //--- get base CU/PU and check prediction mode --- 664 664 TComPic* pcBasePic = m_pcAUPicAccess->getPic( iViewId ); 665 665 TComPicYuv* pcBaseRec = pcBasePic->getPicYuvRec (); 666 667 #if QC_MULTI_DIS_CAN_A0097 666 if(bMerge || !bInterview) 667 { 668 #if H3D_NBDV 669 Int iCurrPosX, iCurrPosY; 670 UInt uiPartAddr; 671 Int iWidth; 672 Int iHeight; 673 674 pcCU->getPartIndexAndSize( uiPartIdx, uiPartAddr, iWidth, iHeight ); 675 pcBaseRec->getTopLeftSamplePos( pcCU->getAddr(), pcCU->getZorderIdxInCU() + uiPartAddr, iCurrPosX, iCurrPosY ); 676 iCurrPosX += ( ( iWidth - 1 ) >> 1 ); 677 iCurrPosY += ( ( iHeight - 1 ) >> 1 ); 678 679 Int iBasePosX = Clip3( 0, pcBaseRec->getWidth () - 1, iCurrPosX + ( (pDInfo->m_acMvCand[0].getHor() + 2 ) >> 2 ) ); 680 Int iBasePosY = Clip3( 0, pcBaseRec->getHeight() - 1, iCurrPosY + ( (pDInfo->m_acMvCand[0].getVer() + 2 ) >> 2 )); 681 Int iBaseCUAddr; 682 Int iBaseAbsPartIdx; 683 pcBaseRec->getCUAddrAndPartIdx( iBasePosX , iBasePosY , iBaseCUAddr, iBaseAbsPartIdx ); 684 #else //H3D_NBDV 685 Int iPrdDepth, iCurrPosX, iCurrPosY; 686 Bool bAvailable = xGetPredDepth( pcCU, uiPartIdx, iPrdDepth, &iCurrPosX, &iCurrPosY ); 687 AOF( bAvailable ); 688 TComPicYuv* pcBasePdm = pcBasePic->getPredDepthMap(); 689 Int iDisparity = xGetDisparityFromVirtDepth( iViewId, iPrdDepth ); 690 Int iShiftX = m_uiSubSampExpX + 2; 691 Int iAddX = ( 1 << iShiftX ) >> 1; 692 Int iBasePosX = Clip3( 0, pcBasePdm->getWidth () - 1, iCurrPosX + ( ( iDisparity + iAddX ) >> iShiftX ) ); 693 Int iBasePosY = Clip3( 0, pcBasePdm->getHeight() - 1, iCurrPosY ); 694 Int iBaseCUAddr; 695 Int iBaseAbsPartIdx; 696 pcBaseRec->getCUAddrAndPartIdx( iBasePosX<< m_uiSubSampExpX , iBasePosY<< m_uiSubSampExpY , iBaseCUAddr, iBaseAbsPartIdx ); 697 #endif // H3D_NBDV 698 TComDataCU* pcBaseCU = pcBasePic->getCU( iBaseCUAddr ); 699 if( pcBaseCU->getPredictionMode( iBaseAbsPartIdx ) == MODE_INTER || pcBaseCU->getPredictionMode( iBaseAbsPartIdx ) == MODE_SKIP ) 700 { 701 for( UInt uiCurrRefListId = 0; uiCurrRefListId < 2; uiCurrRefListId++ ) 702 { 703 RefPicList eCurrRefPicList = RefPicList( uiCurrRefListId ); 704 if(!bMerge && eCurrRefPicList != eRefPicList) 705 continue; 706 Bool bLoop_stop = false; 707 for(Int iLoop = 0; iLoop < 2 && !bLoop_stop; ++iLoop) 708 { 709 RefPicList eBaseRefPicList = (iLoop ==1)? RefPicList( 1 - uiCurrRefListId ) : RefPicList( uiCurrRefListId ); 710 TComMvField cBaseMvField; 711 pcBaseCU->getMvField( pcBaseCU, iBaseAbsPartIdx, eBaseRefPicList, cBaseMvField ); 712 Int iBaseRefIdx = cBaseMvField.getRefIdx(); 713 if (iBaseRefIdx >= 0) 714 { 715 Int iBaseRefPOC = pcBaseCU->getSlice()->getRefPOC(eBaseRefPicList, iBaseRefIdx); 716 if (iBaseRefPOC != pcSlice->getPOC()) 717 { 718 for (Int iPdmRefIdx = (bMerge?0: iRefIdx); iPdmRefIdx < (bMerge? pcSlice->getNumRefIdx( eCurrRefPicList ): (iRefIdx+1)); iPdmRefIdx++) 719 { 720 if (iBaseRefPOC == pcSlice->getRefPOC(eCurrRefPicList, iPdmRefIdx)) 721 { 722 abPdmAvailable[ uiCurrRefListId ] = true; 723 TComMv cMv(cBaseMvField.getHor(), cBaseMvField.getVer()); 724 #if H3D_NBDV 725 if( bMerge ) 726 { 727 cMv.m_bDvMcp = true; 728 cMv.m_iDvMcpDispX = pDInfo->m_acMvCand[0].getHor(); 729 } 730 #endif 731 pcCU->clipMv( cMv ); 732 if(bMerge) 733 { 734 paiPdmRefIdx [ uiCurrRefListId ] = iPdmRefIdx; 735 pacPdmMv [ uiCurrRefListId ] = cMv; 736 bLoop_stop = true; 737 break; 738 }else 739 { 740 pacPdmMv [0] = cMv; 741 return true; 742 } 743 } 744 } 745 } 746 } 747 } 748 } 749 } 750 if( bMerge ) 751 iPdm[0] = ( abPdmAvailable[0] ? 1 : 0 ) + ( abPdmAvailable[1] ? 2 : 0 ); 752 } 753 if(bMerge || bInterview) 754 { 755 for( Int iRefListId = 0; iRefListId < 2 ; iRefListId++ ) 756 { 757 RefPicList eRefPicListDMV = RefPicList( iRefListId ); 758 Int iNumRefPics = pcSlice->getNumRefIdx( eRefPicListDMV ); 759 for( Int iPdmRefIdx = (bMerge ? 0: iRefIdx); iPdmRefIdx < (bMerge ? iNumRefPics: (iRefIdx+1) ); iPdmRefIdx++ ) 760 { 761 if( pcSlice->getRefPOC( eRefPicListDMV, iPdmRefIdx ) == pcSlice->getPOC()) 762 { 763 abPdmAvailable[ iRefListId+2 ] = true; 764 paiPdmRefIdx [ iRefListId+2 ] = iPdmRefIdx; 765 #if H3D_NBDV 766 TComMv cMv = pDInfo->m_acMvCand[0]; 767 cMv.setVer(0); 768 #else 769 TComMv cMv(iDisparity, 0); 770 #endif 771 pcCU->clipMv( cMv ); 772 pacPdmMv [ iRefListId + 2] = cMv; 773 if(bMerge) 774 break; 775 else 776 { 777 pacPdmMv [0] = cMv; 778 return true; 779 } 780 } 781 } 782 } 783 iPdm[1] = ( abPdmAvailable[2] ? 1 : 0 ) + ( abPdmAvailable[3] ? 2 : 0 ); 784 } 785 return false; 786 } 787 #else // QC_AMVP_MRG_UNIFY_IVCAN_C0051 788 #if H3D_NBDV 789 Int 790 TComDepthMapGenerator::getPdmMergeCandidate( TComDataCU* pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* iPdm ) 791 #else 792 Int 793 TComDepthMapGenerator::getPdmMergeCandidate( TComDataCU* pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv ) 794 #endif 795 { 796 AOF ( m_bCreated && m_bInit ); 797 798 #if !H3D_NBDV 799 ROFRS( m_bPDMAvailable, 0 ); 800 #endif 801 802 TComSlice* pcSlice = pcCU->getSlice (); 803 TComSPS* pcSPS = pcSlice->getSPS(); 804 AOF ( pcSPS->getViewId() == m_uiCurrViewId ); 805 Bool bPdmMerge = ( ( pcSPS->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) == PDM_USE_FOR_MERGE ); 806 ROTRS( !bPdmMerge, 0 ); 807 808 Bool abPdmAvailable[4] = {false, false, false, false}; 809 810 Int iValid = 0; 811 Int iViewId = 0; 812 for( UInt uiBId = 0; uiBId < m_uiCurrViewId && iValid==0; uiBId++ ) 813 { 814 UInt uiBaseId = m_auiBaseIdList[ uiBId ]; 815 TComPic* pcBasePic = m_pcAUPicAccess->getPic( uiBaseId ); 816 for( Int iRefListId = 0; iRefListId < 2 && iValid==0; iRefListId++ ) 817 { 818 RefPicList eRefPicListTest = RefPicList( iRefListId ); 819 Int iNumRefPics = pcSlice->getNumRefIdx( eRefPicListTest ) ; 820 for( Int iRefIndex = 0; iRefIndex < iNumRefPics; iRefIndex++ ) 821 { 822 if(pcBasePic->getPOC() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getPOC() 823 && pcBasePic->getViewId() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getViewId()) 824 { 825 iValid=1; 826 iViewId = uiBaseId; 827 break; 828 } 829 } 830 } 831 } 832 if (iValid == 0) 833 return 0; 834 835 //--- get base CU/PU and check prediction mode --- 836 TComPic* pcBasePic = m_pcAUPicAccess->getPic( iViewId ); 837 TComPicYuv* pcBaseRec = pcBasePic->getPicYuvRec (); 838 839 #if H3D_NBDV 668 840 Int iCurrPosX, iCurrPosY; 669 841 UInt uiPartAddr; … … 719 891 paiPdmRefIdx [ uiBaseRefListId ] = iPdmRefIdx; 720 892 TComMv cMv(cBaseMvField.getHor(), cBaseMvField.getVer()); 721 #if LGE_DVMCP_A0126893 #if H3D_NBDV 722 894 cMv.m_bDvMcp = true; 723 895 cMv.m_iDvMcpDispX = pDInfo->m_acMvCand[0].getHor(); 724 #endif 896 #if MTK_RELEASE_DV_CONSTRAINT_C0129 897 cMv.m_iDvMcpDispY = pDInfo->m_acMvCand[0].getVer(); 898 #endif 899 #endif //H3D_NBDV 725 900 pcCU->clipMv( cMv ); 726 901 pacPdmMv [ uiBaseRefListId ] = cMv; … … 733 908 } 734 909 Int iPdmInterDir = ( abPdmAvailable[0] ? 1 : 0 ) + ( abPdmAvailable[1] ? 2 : 0 ); 735 #if QC_MRG_CANS_B0048 910 736 911 iPdm[0] = iPdmInterDir; 737 #else738 if (iPdmInterDir == 0)739 {740 #endif741 912 for( Int iRefListId = 0; iRefListId < 2 ; iRefListId++ ) 742 913 { … … 744 915 Int iNumRefPics = pcSlice->getNumRefIdx( eRefPicList ); 745 916 for( Int iPdmRefIdx = 0; iPdmRefIdx < iNumRefPics; iPdmRefIdx++ ) 746 {917 { 747 918 if( pcSlice->getRefPOC( eRefPicList, iPdmRefIdx ) == pcSlice->getPOC()) 748 919 { 749 #if QC_MRG_CANS_B0048750 920 abPdmAvailable[ iRefListId+2 ] = true; 751 921 paiPdmRefIdx [ iRefListId+2 ] = iPdmRefIdx; 752 #else 753 abPdmAvailable[ iRefListId ] = true; 754 paiPdmRefIdx [ iRefListId ] = iPdmRefIdx; 755 #endif 756 #if QC_MULTI_DIS_CAN_A0097 922 #if H3D_NBDV 757 923 TComMv cMv = pDInfo->m_acMvCand[0]; 758 924 cMv.setVer(0); … … 761 927 #endif 762 928 pcCU->clipMv( cMv ); 763 #if QC_MRG_CANS_B0048764 929 pacPdmMv [ iRefListId + 2] = cMv; 765 #else766 pacPdmMv [ iRefListId ] = cMv;767 #endif768 930 break; 769 931 } 770 932 } 771 933 } 772 #if QC_MRG_CANS_B0048773 934 iPdmInterDir = ( abPdmAvailable[2] ? 1 : 0 ) + ( abPdmAvailable[3] ? 2 : 0 ) ; 774 935 iPdm[1] = iPdmInterDir; 775 #else776 iPdmInterDir = ( abPdmAvailable[0] ? 1 : 0 ) + ( abPdmAvailable[1] ? 2 : 0 ) ;777 }778 #endif779 936 780 937 return iPdmInterDir; 781 782 #else 783 Int iMaxNumInterPics = 1; 784 Int iMaxNumAllPics = 2; 785 786 // inter-only 787 Bool abPdmAvailable[2] = {false,false}; 788 for( Int iRefListId = 0; iRefListId < 2; iRefListId++ ) 789 { 790 RefPicList eRefPicList = RefPicList( iRefListId ); 791 Int iNumRefPics = pcCU->getSlice()->getNumRefIdx( eRefPicList ); 792 TComMv cMv; 793 for( Int iPdmRefIdx = 0, iInterPics = 0; iPdmRefIdx < iNumRefPics && iInterPics < iMaxNumInterPics; iPdmRefIdx++ ) 794 { 795 if( pcCU->getSlice()->getRefPOC( eRefPicList, iPdmRefIdx ) != pcCU->getSlice()->getPOC() ) 796 { 797 #if QC_MULTI_DIS_CAN_A0097 798 if( getDisCanPdmMvPred (pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, pDInfo, true ) ) 799 #else 800 if( getPdmMvPred( pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, true ) ) 801 #endif 802 { 803 pcCU->clipMv( cMv ); 804 abPdmAvailable[ iRefListId ] = true; 805 paiPdmRefIdx [ iRefListId ] = iPdmRefIdx; 806 pacPdmMv [ iRefListId ] = cMv; 807 break; 808 } 809 iInterPics++; 810 } 811 } 812 } 813 Int iPdmInterDir = ( abPdmAvailable[0] ? 1 : 0 ) + ( abPdmAvailable[1] ? 2 : 0 ); 814 if( 0==iPdmInterDir ) 815 { // check all, including inter view references 816 for( Int iRefListId = 0; iRefListId < 2; iRefListId++ ) 817 { 818 RefPicList eRefPicList = RefPicList( iRefListId ); 819 Int iNumRefPics = Min( iMaxNumAllPics, pcCU->getSlice()->getNumRefIdx( eRefPicList ) ); 820 TComMv cMv; 821 for( Int iPdmRefIdx = 0; iPdmRefIdx < iNumRefPics; iPdmRefIdx++ ) 822 { 823 #if QC_MULTI_DIS_CAN_A0097 824 if ( getDisCanPdmMvPred (pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, pDInfo, true ) ) 825 #else 826 if( getPdmMvPred( pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, true ) ) 827 #endif 828 { 829 pcCU->clipMv( cMv ); 830 abPdmAvailable[ iRefListId ] = true; 831 paiPdmRefIdx [ iRefListId ] = iPdmRefIdx; 832 pacPdmMv [ iRefListId ] = cMv; 833 break; 834 } 835 } 836 } 837 iPdmInterDir = ( abPdmAvailable[0] ? 1 : 0 ) + ( abPdmAvailable[1] ? 2 : 0 ); 838 } 839 return iPdmInterDir; 840 #endif 841 } 842 843 #if QC_MULTI_DIS_CAN_A0097 938 } 939 940 #if H3D_NBDV 844 941 Bool 845 942 TComDepthMapGenerator::getDisCanPdmMvPred ( TComDataCU* pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, DisInfo* pDInfo, Bool bMerge ) 846 943 { 847 #if LGE_DVMCP_A0126848 944 rcMv.m_bDvMcp = false; 849 #endif850 945 AOF ( m_bCreated && m_bInit ); 851 946 AOF ( iRefIdx >= 0 ); 852 947 AOF ( pcCU ); 853 //ROFRS( m_bPDMAvailable, false );854 948 TComSlice* pcSlice = pcCU->getSlice (); 855 949 TComSPS* pcSPS = pcSlice->getSPS(); … … 878 972 for( UInt uiBId = 0; uiBId < m_uiCurrViewId; uiBId++ ) 879 973 { 880 UInt uiBaseId = uiBId; //m_auiBaseIdList[ uiBId ];974 UInt uiBaseId = uiBId; 881 975 882 976 if (m_uiCurrViewId >1 && uiBaseId ==1 ) … … 913 1007 { 914 1008 rcMv.set( cBaseMvField.getHor(), cBaseMvField.getVer() ); 915 #if LGE_DVMCP_A0126916 1009 // save disparity vector when a merge candidate for IVMP is set as DV-MCP 917 1010 if( bMerge ) … … 919 1012 rcMv.m_bDvMcp = true; 920 1013 rcMv.m_iDvMcpDispX = pDInfo->m_acMvCand[0].getHor(); 1014 #if MTK_RELEASE_DV_CONSTRAINT_C0129 1015 rcMv.m_iDvMcpDispY = pDInfo->m_acMvCand[0].getVer(); 1016 #endif 921 1017 } 922 1018 else { // AMVP ? 923 1019 rcMv.m_bDvMcp = false; 924 1020 } 925 #endif926 1021 return true; 927 1022 } … … 930 1025 return false; 931 1026 } 932 #else 1027 #else // H3D_NBDV 933 1028 Bool 934 1029 TComDepthMapGenerator::getPdmMvPred( TComDataCU* pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, Bool bMerge ) … … 1014 1109 return false; 1015 1110 } 1016 #endif 1111 #endif // H3D_NBDV 1112 #endif // QC_AMVP_MRG_UNIFY_IVCAN_C0051 1017 1113 1018 1114 … … 1056 1152 return true; 1057 1153 } 1058 #endif 1059 1060 1061 1062 1063 1064 #if ! QC_MULTI_DIS_CAN_A00971154 #endif // H3D_IVMP 1155 1156 1157 1158 1159 1160 #if !H3D_NBDV 1065 1161 /*=======================================================* 1066 1162 *===== =====* … … 1856 1952 Int iCurrPosY; 1857 1953 pcPredDepthMap->getTopLeftSamplePos( pcCU->getAddr(), pcCU->getZorderIdxInCU() + uiPartAddr, iCurrPosX, iCurrPosY ); 1858 #if SAIT_IMPROV_MOTION_PRED_M24829// max disparity within PU1954 #if H3D_IVMP // max disparity within PU 1859 1955 Int DiWidth = iCurrPosX+(iWidth >> m_uiSubSampExpX); 1860 1956 Int DiHeight = iCurrPosY+(iHeight >> m_uiSubSampExpY); … … 1889 1985 return true; 1890 1986 } 1891 #endif 1987 #endif // H3D_NBDV 1892 1988 1893 1989 #endif // DEPTH_MAP_GENERATION
Note: See TracChangeset for help on using the changeset viewer.