Changeset 622 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComPrediction.cpp
- Timestamp:
- 11 Sep 2013, 14:40:25 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibCommon/TComPrediction.cpp
r608 r622 456 456 dmmSegmentation = &(g_dmmWedgeLists[ g_aucConvertToBit[iWidth] ][ pcCU->getDmmWedgeTabIdx( dimType, uiAbsPartIdx ) ]); 457 457 } break; 458 #if !SEC_DMM2_E0146 458 #if !SEC_DMM2_E0146_HHIFIX 459 459 case( DMM2_IDX ): 460 460 { … … 588 588 pcCU->getPartIndexAndSize( iPartIdx, uiPartAddr, iWidth, iHeight ); 589 589 #if H_3D_VSP 590 if ( 0 == pcCU->getVSPFlag(uiPartAddr))590 if ( pcCU->getVSPFlag(uiPartAddr) == 0) 591 591 { 592 592 #endif … … 622 622 { 623 623 if ( xCheckIdenticalMotion( pcCU, uiPartAddr ) ) 624 { 624 625 xPredInterUniVSP( pcCU, uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred ); 626 } 625 627 else 628 { 626 629 xPredInterBiVSP ( pcCU, uiPartAddr, iWidth, iHeight, pcYuvPred ); 630 } 627 631 } 628 632 #endif … … 635 639 636 640 #if H_3D_VSP 637 if ( 0 == pcCU->getVSPFlag(uiPartAddr))641 if ( pcCU->getVSPFlag(uiPartAddr) == 0 ) 638 642 { 639 643 #endif … … 669 673 { 670 674 if ( xCheckIdenticalMotion( pcCU, uiPartAddr ) ) 675 { 671 676 xPredInterUniVSP( pcCU, uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred ); 677 } 672 678 else 679 { 673 680 xPredInterBiVSP ( pcCU, uiPartAddr, iWidth, iHeight, pcYuvPred ); 681 } 674 682 } 675 683 #endif … … 722 730 { 723 731 // Get depth reference 724 #if MTK_VSP_FIX_E0172 725 Int vspDir = pcCU->getVSPDir( uiPartAddr ); 726 RefPicList privateRefPicList = (vspDir == 0) ? REF_PIC_LIST_0 : REF_PIC_LIST_1; 727 Int privateRefIdx = pcCU->getCUMvField( privateRefPicList )->getRefIdx( uiPartAddr ); 728 Int depthRefViewIdx = pcCU->getSlice()->getRefPic(privateRefPicList, privateRefIdx)->getViewIndex(); 729 #else 730 Int depthRefViewIdx = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan; 731 #endif 732 Int depthRefViewIdx = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan; 732 733 TComPic* pRefPicBaseDepth = pcCU->getSlice()->getIvPic (true, depthRefViewIdx ); 733 734 assert(pRefPicBaseDepth != NULL); … … 748 749 749 750 // Do compensation 750 #if MTK_VSP_FIX_ALIGN_WD_E0172751 751 TComMv cDv = pcCU->getDvInfo(uiPartAddr).m_acNBDV; 752 #else753 #if MTK_VSP_FIX_E0172754 TComMv cDv = pcCU->getCUMvField( privateRefPicList )->getMv( uiPartAddr );755 #else756 TComMv cDv = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr ); // cDv is the disparity vector derived from the neighbors757 #endif758 #endif // end of MTK_VSP_FIX_ALIGN_WD_E0172759 752 pcCU->clipMv(cDv); 760 753 … … 935 928 936 929 if ( iRefIdx[iRefList] < 0 ) 930 { 937 931 continue; 932 } 938 933 assert( iRefIdx[iRefList] < pcCU->getSlice()->getNumRefIdx(eRefPicList) ); 939 934 … … 2773 2768 2774 2769 #if H_3D_DIM_DMM 2770 #if !SEC_DMM2_E0146_HHIFIX 2775 2771 UInt TComPrediction::xPredWedgeFromIntra( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight, Int iDeltaEnd ) 2776 2772 { … … 2784 2780 { 2785 2781 UInt dimType = getDimType( pcTempCU->getLumaIntraDir( uiTempPartIdx ) ); 2786 #if SEC_DMM2_E01462787 if( DMM1_IDX == dimType || DMM3_IDX == dimType )2788 #else2789 2782 if( DMM1_IDX == dimType || DMM2_IDX == dimType || DMM3_IDX == dimType ) 2790 #endif2791 2783 { 2792 2784 // get offset between current and reference block … … 2813 2805 { 2814 2806 UInt dimType = getDimType( pcTempCU->getLumaIntraDir( uiTempPartIdx ) ); 2815 #if SEC_DMM2_E01462816 if( DMM1_IDX == dimType || DMM3_IDX == dimType )2817 #else2818 2807 if( DMM1_IDX == dimType || DMM2_IDX == dimType || DMM3_IDX == dimType ) 2819 #endif2820 2808 { 2821 2809 // get offset between current and reference block … … 2849 2837 return 0; 2850 2838 } 2839 #endif 2851 2840 2852 2841 UInt TComPrediction::xPredWedgeFromTex( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight, UInt intraTabIdx ) … … 2858 2847 Int uiColTexIntraDir = pcColTexCU->isIntra( uiTexPartIdx ) ? pcColTexCU->getLumaIntraDir( uiTexPartIdx ) : 255; 2859 2848 2849 #if LGE_PKU_DMM3_OVERLAP_E0159_HHIFIX 2850 assert( uiColTexIntraDir > DC_IDX && uiColTexIntraDir < 35 ); 2851 return g_aauiWdgLstM3[g_aucConvertToBit[uiWidth]][uiColTexIntraDir-2].at(intraTabIdx); 2852 #else 2860 2853 if( uiColTexIntraDir > DC_IDX && uiColTexIntraDir < 35 ) { return g_aauiWdgLstM3[g_aucConvertToBit[uiWidth]][uiColTexIntraDir-2].at(intraTabIdx); } 2861 2854 else { return g_dmmWedgeNodeLists[(g_aucConvertToBit[uiWidth])].at(intraTabIdx).getPatternIdx(); } 2855 #endif 2862 2856 } 2863 2857 … … 2914 2908 } 2915 2909 2910 #if !SEC_DMM2_E0146_HHIFIX 2916 2911 Void TComPrediction::xGetBlockOffset( TComDataCU* pcCU, UInt uiAbsPartIdx, TComDataCU* pcRefCU, UInt uiRefAbsPartIdx, UInt& ruiOffsetX, UInt& ruiOffsetY ) 2917 2912 { … … 3302 3297 } 3303 3298 #endif 3299 #endif 3304 3300 #if H_3D_DIM_RBC 3305 3301 Void TComPrediction::xDeltaDCQuantScaleUp( TComDataCU* pcCU, Pel& rDeltaDC )
Note: See TracChangeset for help on using the changeset viewer.