Changeset 295 in 3DVCSoftware for branches/HTM-5.1-dev0/source/Lib
- Timestamp:
- 19 Feb 2013, 21:39:51 (12 years ago)
- Location:
- branches/HTM-5.1-dev0/source/Lib
- Files:
-
- 43 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.1-dev0/source/Lib/TLibCommon/CommonDef.h
r294 r295 128 128 #define MAX_VIEW_NUM 10 129 129 130 #if ( H3D_IVMP || H HI_INTER_VIEW_RESIDUAL_PRED)130 #if ( H3D_IVMP || H3D_IVRP ) 131 131 #define DEPTH_MAP_GENERATION 1 132 132 #define PDM_REMOVE_DEPENDENCE 1 //bug-fix for DMDV JCT2-A0095 -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/ContextTables.h
r294 r295 59 59 #define NUM_MERGE_IDX_EXT_CTX 1 ///< number of context models for merge index of merge extended 60 60 61 #if H HI_INTER_VIEW_RESIDUAL_PRED61 #if H3D_IVRP 62 62 #define NUM_RES_PRED_FLAG_CTX 4 ///< number of context for residual prediction flag 63 63 #endif … … 191 191 }; 192 192 193 #if H HI_INTER_VIEW_RESIDUAL_PRED193 #if H3D_IVRP 194 194 static const UChar 195 195 INIT_RES_PRED_FLAG[3][NUM_RES_PRED_FLAG_CTX] = -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.cpp
r294 r295 214 214 m_piContourPredTexDeltaDC2 = NULL; 215 215 #endif 216 #if H HI_INTER_VIEW_RESIDUAL_PRED216 #if H3D_IVRP 217 217 m_pbResPredAvailable = NULL; 218 218 m_pbResPredFlag = NULL; … … 285 285 m_piVSPIndex = (Char* )xMalloc(Char, uiNumPartition); 286 286 #endif 287 #if H HI_INTER_VIEW_RESIDUAL_PRED287 #if H3D_IVRP 288 288 m_pbResPredAvailable = (Bool* )xMalloc(Bool, uiNumPartition); 289 289 m_pbResPredFlag = (Bool* )xMalloc(Bool, uiNumPartition); … … 443 443 #endif 444 444 if ( m_puhMergeIndex ) { xFree(m_puhMergeIndex); m_puhMergeIndex = NULL; } 445 #if H HI_INTER_VIEW_RESIDUAL_PRED445 #if H3D_IVRP 446 446 if ( m_pbResPredAvailable ) { xFree(m_pbResPredAvailable); m_pbResPredAvailable= NULL; } 447 447 if ( m_pbResPredFlag ) { xFree(m_pbResPredFlag); m_pbResPredFlag = NULL; } … … 713 713 memset (m_pbRenderable + firstElement, false, sizeof( Bool ) * numElements) ; 714 714 #endif 715 #if H HI_INTER_VIEW_RESIDUAL_PRED715 #if H3D_IVRP 716 716 memset( m_pbResPredAvailable + firstElement, 0 , sizeof( Bool ) * numElements ); 717 717 memset( m_pbResPredFlag + firstElement, 0 , sizeof( Bool ) * numElements ); … … 855 855 m_piVSPIndex[ui] = 0; 856 856 #endif 857 #if H HI_INTER_VIEW_RESIDUAL_PRED857 #if H3D_IVRP 858 858 m_pbResPredAvailable[ui] = 0; 859 859 m_pbResPredFlag[ui] = 0; … … 966 966 memset( m_piVSPIndex, 0, iSizeInChar ); 967 967 #endif 968 #if H HI_INTER_VIEW_RESIDUAL_PRED968 #if H3D_IVRP 969 969 memset( m_pbResPredAvailable, 0, iSizeInBool ); 970 970 memset( m_pbResPredFlag, 0, iSizeInBool ); … … 1080 1080 m_piContourPredTexDeltaDC2[ui]=pcCU->getContourPredTexDeltaDC2(uiPartOffset+ui); 1081 1081 #endif 1082 #if H HI_INTER_VIEW_RESIDUAL_PRED1082 #if H3D_IVRP 1083 1083 m_pbResPredAvailable[ui] = pcCU->m_pbResPredAvailable[ uiPartOffset + ui ]; 1084 1084 m_pbResPredFlag [ui] = pcCU->m_pbResPredFlag [ uiPartOffset + ui ]; … … 1202 1202 m_piVSPIndex = pcCU->getVSPIndex() + uiPart; 1203 1203 #endif 1204 #if H HI_INTER_VIEW_RESIDUAL_PRED1204 #if H3D_IVRP 1205 1205 m_pbResPredAvailable = pcCU->getResPredAvail() + uiPart; 1206 1206 m_pbResPredFlag = pcCU->getResPredFlag () + uiPart; … … 1348 1348 m_piVSPIndex = pcCU->getVSPIndex() + uiAbsPartIdx; 1349 1349 #endif 1350 #if H HI_INTER_VIEW_RESIDUAL_PRED1350 #if H3D_IVRP 1351 1351 m_pbResPredAvailable = pcCU->getResPredAvail() + uiAbsPartIdx; 1352 1352 m_pbResPredFlag = pcCU->getResPredFlag () + uiAbsPartIdx; … … 1399 1399 memcpy( m_piVSPIndex + uiOffset, pcCU->getVSPIndex(), iSizeInChar ); 1400 1400 #endif 1401 #if H HI_INTER_VIEW_RESIDUAL_PRED1401 #if H3D_IVRP 1402 1402 memcpy( m_pbResPredAvailable + uiOffset, pcCU->getResPredAvail(), iSizeInBool ); 1403 1403 memcpy( m_pbResPredFlag + uiOffset, pcCU->getResPredFlag(), iSizeInBool ); … … 1538 1538 memcpy( rpcCU->getVSPIndex() + m_uiAbsIdxInLCU, m_piVSPIndex, iSizeInChar ); 1539 1539 #endif 1540 #if H HI_INTER_VIEW_RESIDUAL_PRED1540 #if H3D_IVRP 1541 1541 memcpy( rpcCU->getResPredAvail() + m_uiAbsIdxInLCU, m_pbResPredAvailable, iSizeInBool ); 1542 1542 memcpy( rpcCU->getResPredFlag() + m_uiAbsIdxInLCU, m_pbResPredFlag, iSizeInBool ); … … 1669 1669 memcpy( rpcCU->getVSPIndex() + uiPartOffset, m_piVSPIndex, iSizeInChar ); 1670 1670 #endif 1671 #if H HI_INTER_VIEW_RESIDUAL_PRED1671 #if H3D_IVRP 1672 1672 memcpy( rpcCU->getResPredAvail() + uiPartOffset, m_pbResPredAvailable, iSizeInBool ); 1673 1673 memcpy( rpcCU->getResPredFlag() + uiPartOffset, m_pbResPredFlag, iSizeInBool ); … … 2623 2623 2624 2624 2625 #if H HI_INTER_VIEW_RESIDUAL_PRED2625 #if H3D_IVRP 2626 2626 UInt 2627 2627 TComDataCU::getCtxResPredFlag( UInt uiAbsPartIdx ) … … 2949 2949 #endif 2950 2950 2951 #if H HI_INTER_VIEW_RESIDUAL_PRED2951 #if H3D_IVRP 2952 2952 Void TComDataCU::setResPredAvailSubParts( Bool bResPredAvailable, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth ) 2953 2953 { … … 3628 3628 deriveLeftRightTopIdxGeneral( cCurPS, uiAbsPartIdx, uiPUIdx, uiPartIdxLT, uiPartIdxRT ); 3629 3629 deriveLeftBottomIdxGeneral( cCurPS, uiAbsPartIdx, uiPUIdx, uiPartIdxLB ); 3630 #if !FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152 3630 3631 #if H3D_IVMP 3632 Bool bNoPdmMerge = ( m_pcSlice->getSPS()->getViewId() == 0 || ( m_pcSlice->getSPS()->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) != PDM_USE_FOR_MERGE ); 3633 3634 //===== add merge with predicted depth maps ===== 3635 TComMv acPdmMv [4]; 3636 Int aiPdmRefIdx [4] = {-1, -1, -1, -1}; 3637 Bool bLeftAvai = false; 3638 Int iPosLeftAbove[2] = {-1, -1}; 3639 3640 #if H3D_NBDV 3641 acPdmMv[0].m_bDvMcp = acPdmMv[1].m_bDvMcp = acPdmMv[2].m_bDvMcp = acPdmMv[3].m_bDvMcp = false; 3642 #endif //H3D_NBDV 3643 3644 #if MTK_MDIVRP_C0138 3645 Bool bDVAvail = true; 3646 #endif 3647 3648 #if H3D_NBDV 3649 DisInfo cDisInfo; 3650 cDisInfo.iN = 0; 3651 if(!bNoPdmMerge) 3652 { 3653 getDisMvpCandNBDV(uiPUIdx, uiAbsPartIdx, &cDisInfo , true 3654 #if MERL_VSP_C0152 3655 , true 3656 #endif 3657 ); 3658 } 3659 if(cDisInfo.iN==0) 3660 { 3661 cDisInfo.iN = 1; 3662 cDisInfo.m_acMvCand[0].setHor(0); 3663 cDisInfo.m_acMvCand[0].setVer(0); 3664 cDisInfo.m_aVIdxCan[0] = 0; 3665 #if MTK_MDIVRP_C0138 3666 bDVAvail = false; 3667 #endif 3668 } 3669 3631 3670 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 3632 3671 if( m_pcSlice->getIsDepth()) … … 3662 3701 } 3663 3702 } 3664 #if FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C01523703 #if MERL_VSP_C0152 3665 3704 xInheritVspMode( pcTextureCU, uiPartIdxCenter, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ; 3666 3705 #endif … … 3673 3712 } 3674 3713 #endif 3675 #endif 3676 3677 #if H3D_IVMP 3678 Bool bNoPdmMerge = ( m_pcSlice->getSPS()->getViewId() == 0 || ( m_pcSlice->getSPS()->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) != PDM_USE_FOR_MERGE ); 3679 3680 //===== add merge with predicted depth maps ===== 3681 TComMv acPdmMv [4]; 3682 Int aiPdmRefIdx [4] = {-1, -1, -1, -1}; 3683 Bool bLeftAvai = false; 3684 Int iPosLeftAbove[2] = {-1, -1}; 3685 3686 #if H3D_NBDV 3687 acPdmMv[0].m_bDvMcp = acPdmMv[1].m_bDvMcp = acPdmMv[2].m_bDvMcp = acPdmMv[3].m_bDvMcp = false; 3688 #endif //H3D_NBDV 3689 3690 #if MTK_MDIVRP_C0138 3691 Bool bDVAvail = true; 3692 #endif 3693 3694 #if H3D_NBDV 3695 DisInfo cDisInfo; 3696 cDisInfo.iN = 0; 3697 if(!bNoPdmMerge) 3698 { 3699 getDisMvpCandNBDV(uiPUIdx, uiAbsPartIdx, &cDisInfo , true 3700 #if MERL_VSP_C0152 3701 , true 3702 #endif 3703 ); 3704 } 3705 if(cDisInfo.iN==0) 3706 { 3707 cDisInfo.iN = 1; 3708 cDisInfo.m_acMvCand[0].setHor(0); 3709 cDisInfo.m_acMvCand[0].setVer(0); 3710 cDisInfo.m_aVIdxCan[0] = 0; 3711 #if MTK_MDIVRP_C0138 3712 bDVAvail = false; 3713 #endif 3714 } 3715 #if FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152 3716 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 3717 if( m_pcSlice->getIsDepth()) 3718 { 3719 UInt uiPartIdxCenter; 3720 xDeriveCenterIdx( cCurPS, uiPUIdx, uiPartIdxCenter ); 3721 TComDataCU *pcTextureCU = m_pcSlice->getTexturePic()->getCU( getAddr() ); 3722 if ( pcTextureCU && !pcTextureCU->isIntra( uiPartIdxCenter ) ) 3723 { 3724 abCandIsInter[iCount] = true; 3725 puhInterDirNeighbours[iCount] = pcTextureCU->getInterDir( uiPartIdxCenter ); 3726 if( ( puhInterDirNeighbours[iCount] & 1 ) == 1 ) 3727 { 3728 pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_0, pcMvFieldNeighbours[iCount<<1] ); 3729 TComMv cMvPred = pcMvFieldNeighbours[iCount<<1].getMv(); 3730 const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) ); 3731 cMvPred+=cAdd; 3732 cMvPred>>=2; 3733 clipMv(cMvPred); 3734 pcMvFieldNeighbours[iCount<<1].setMvField(cMvPred,pcMvFieldNeighbours[iCount<<1].getRefIdx()); 3735 } 3736 if ( getSlice()->isInterB() ) 3737 { 3738 if( ( puhInterDirNeighbours[iCount] & 2 ) == 2 ) 3739 { 3740 pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_1, pcMvFieldNeighbours[(iCount<<1)+1] ); 3741 TComMv cMvPred = pcMvFieldNeighbours[(iCount<<1)+1].getMv(); 3742 const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) ); 3743 cMvPred+=cAdd; 3744 cMvPred>>=2; 3745 clipMv(cMvPred); 3746 pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx()); 3747 } 3748 } 3749 #if FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152 3750 xInheritVspMode( pcTextureCU, uiPartIdxCenter, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ; 3751 #endif 3752 if ( mrgCandIdx == iCount ) 3753 { 3754 return; 3755 } 3756 iCount ++; 3757 } 3758 } 3759 #endif 3760 #endif 3714 3761 3715 Int iPdmDir[2] = {0, 0}; 3762 3716 #if QC_AMVP_MRG_UNIFY_IVCAN_C0051 … … 3996 3950 #endif 3997 3951 #if H3D_IVMP 3998 Bool bRemoveSpa = false; //pruni gnto inter-view candidates3952 Bool bRemoveSpa = false; //pruning to inter-view candidates 3999 3953 Int iCnloop = bLeftAvai? (iCount-2): (iCount-1); 4000 3954 for(; iCnloop >= 0; iCnloop --) … … 7956 7910 #endif 7957 7911 7958 #if H HI_INTER_VIEW_RESIDUAL_PRED7912 #if H3D_IVRP 7959 7913 Bool 7960 7914 TComDataCU::getResidualSamples( UInt uiPartIdx, Bool bRecon, TComYuv* pcYuv ) -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.h
r294 r295 49 49 #include "TComPattern.h" 50 50 51 #if H HI_INTER_VIEW_RESIDUAL_PRED51 #if H3D_IVRP 52 52 #include "TComYuv.h" 53 53 #endif … … 210 210 Int m_numSucIPCM; ///< the number of succesive IPCM blocks associated with the current log2CUSize 211 211 Bool m_lastCUSucIPCMFlag; ///< True indicates that the last CU is IPCM and shares the same root as the current CU. 212 #if H HI_INTER_VIEW_RESIDUAL_PRED212 #if H3D_IVRP 213 213 Bool* m_pbResPredAvailable; ///< array of residual prediction available flags 214 214 Bool* m_pbResPredFlag; ///< array of residual prediction flags … … 560 560 Bool getIViewOrgDepthMvPred( UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv ); 561 561 #endif // H3D_IVMP 562 #if H HI_INTER_VIEW_RESIDUAL_PRED562 #if H3D_IVRP 563 563 Bool* getResPredAvail () { return m_pbResPredAvailable; } 564 564 Bool getResPredAvail ( UInt uiIdx ) { return m_pbResPredAvailable[uiIdx]; } … … 573 573 Void setResPredIndicator ( Bool bAv, Bool bRP ) { m_pbResPredAvailable[0] = bAv; m_pbResPredFlag[0] = bRP; } 574 574 #endif 575 #if H HI_INTER_VIEW_RESIDUAL_PRED575 #if H3D_IVRP 576 576 Bool getResidualSamples( UInt uiPartIdx, Bool bRecon, TComYuv* pcYuv = 0 ); 577 577 #endif … … 699 699 UInt getCtxInterDir ( UInt uiAbsPartIdx ); 700 700 701 #if H HI_INTER_VIEW_RESIDUAL_PRED701 #if H3D_IVRP 702 702 UInt getCtxResPredFlag ( UInt uiAbsPartIdx ); 703 703 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDepthMapGenerator.h
r292 r295 80 80 81 81 UInt getPdm () { if( m_aacActiveSPS[0][1] ) { return m_aacActiveSPS[0][1]->getPredDepthMapGeneration(); } return 0; } 82 #if H HI_INTER_VIEW_RESIDUAL_PRED82 #if H3D_IVRP 83 83 UInt getResPrd () { if( m_aacActiveSPS[0][1] ) { return m_aacActiveSPS[0][1]->getMultiviewResPredMode (); } return 0; } 84 84 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComPic.cpp
r294 r295 62 62 m_pcOrgDepthMap = NULL; 63 63 #endif 64 #if H HI_INTER_VIEW_RESIDUAL_PRED64 #if H3D_IVRP 65 65 m_pcResidual = NULL; 66 66 #endif … … 165 165 } 166 166 #endif 167 #if H HI_INTER_VIEW_RESIDUAL_PRED167 #if H3D_IVRP 168 168 if( m_pcResidual ) 169 169 { … … 222 222 #endif 223 223 224 #if H HI_INTER_VIEW_RESIDUAL_PRED224 #if H3D_IVRP 225 225 Void 226 226 TComPic::addResidualBuffer() … … 272 272 #endif 273 273 274 #if H HI_INTER_VIEW_RESIDUAL_PRED274 #if H3D_IVRP 275 275 Void 276 276 TComPic::removeResidualBuffer() -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComPic.h
r293 r295 86 86 #endif 87 87 #endif 88 #if H HI_INTER_VIEW_RESIDUAL_PRED88 #if H3D_IVRP 89 89 TComPicYuv* m_pcResidual; // residual buffer (coded or inter-view predicted residual) 90 90 #endif … … 173 173 #endif 174 174 175 #if H HI_INTER_VIEW_RESIDUAL_PRED175 #if H3D_IVRP 176 176 TComPicYuv* getResidual() { return m_pcResidual; } 177 177 #endif … … 253 253 Void addOrgDepthMapBuffer (); 254 254 #endif 255 #if H HI_INTER_VIEW_RESIDUAL_PRED255 #if H3D_IVRP 256 256 Void addResidualBuffer (); 257 257 #endif … … 262 262 Void removeOrgDepthMapBuffer (); 263 263 #endif 264 #if H HI_INTER_VIEW_RESIDUAL_PRED264 #if H3D_IVRP 265 265 Void removeResidualBuffer (); 266 266 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComPrediction.cpp
r294 r295 2860 2860 ruiIntraTabIdx = 0; 2861 2861 #endif 2862 #if HHIQC_DMMFASTSEARCH_B00392863 2862 TComPic* pcPicTex = pcCU->getSlice()->getTexturePic(); 2864 2863 TComDataCU* pcColTexCU = pcPicTex->getCU(pcCU->getAddr()); … … 2949 2948 #endif 2950 2949 } 2951 #else2952 for( UInt uiIdx = 0; uiIdx < pacWedgeList->size(); uiIdx++ )2953 {2954 calcWedgeDCs ( &(pacWedgeList->at(uiIdx)), piRefBlkY, uiWidth, iDC1, iDC2 );2955 assignWedgeDCs2Pred( &(pacWedgeList->at(uiIdx)), piPred, uiPredStride, iDC1, iDC2 );2956 2957 UInt uiActDist = cWedgeDist.getDistPart( piPred, uiPredStride, piRefBlkY, uiWidth, uiWidth, uiHeight, WedgeDist_SAD );2958 2959 if( uiActDist < uiBestDist || uiBestDist == MAX_UINT )2960 {2961 uiBestDist = uiActDist;2962 uiBestTabIdx = uiIdx;2963 }2964 }2965 #endif2966 2950 2967 2951 cPredYuv.destroy(); … … 3067 3051 delete pcContourWedge; 3068 3052 } 3069 #endif 3053 #endif // HHI_DMM_PRED_TEX 3070 3054 3071 3055 #if HHI_DMM_WEDGE_INTRA -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComResidualGenerator.cpp
r294 r295 44 44 45 45 46 #if H HI_INTER_VIEW_RESIDUAL_PRED46 #if H3D_IVRP 47 47 48 48 … … 743 743 744 744 745 #endif // H HI_INTER_VIEW_RESIDUAL_PRED746 745 #endif // H3D_IVRP 746 -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComResidualGenerator.h
r290 r295 50 50 51 51 52 #if H HI_INTER_VIEW_RESIDUAL_PRED52 #if H3D_IVRP 53 53 54 54 class TComResidualGenerator … … 121 121 #endif // __TCOM_RESIDUAL_GENERATOR__ 122 122 123 #endif // H HI_INTER_VIEW_RESIDUAL_PRED123 #endif // H3D_IVRP 124 124 125 125 -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComRom.cpp
r294 r295 174 174 g_aacWedgeRefLists.clear(); 175 175 } 176 #if HHIQC_DMMFASTSEARCH_B0039 176 177 177 if ( !g_aacWedgeNodeLists.empty() ) 178 178 { … … 183 183 g_aacWedgeNodeLists.clear(); 184 184 } 185 #endif 185 186 186 #endif 187 187 } … … 859 859 std::vector< std::vector<TComWedgeRef> > g_aacWedgeRefLists; 860 860 861 #if HHIQC_DMMFASTSEARCH_B0039862 861 std::vector< std::vector< std::vector<UInt> > > g_aauiWdgLstM3; 863 862 std::vector< std::vector< TComWedgeNode> > g_aacWedgeNodeLists; 864 #endif865 863 866 864 Void initWedgeLists() … … 875 873 g_aacWedgeRefLists.push_back( acWedgeRefList ); 876 874 877 #if HHIQC_DMMFASTSEARCH_B0039878 875 // create WedgeNodeList 879 876 std::vector<TComWedgeNode> acWedgeNodeList; … … 936 933 } 937 934 g_aacWedgeNodeLists.push_back( acWedgeNodeList ); 938 #endif 935 939 936 } 940 937 return; … … 974 971 for( Int iL = 0; iL < uiBlockSize; iL++ ) 975 972 { 976 #if HHIQC_DMMFASTSEARCH_B0039977 973 cTempWedgelet.setWedgelet( uhStartX + (iK*iStepStartX) , uhStartY + (iK*iStepStartY), uhEndX + (iL*iStepEndX), uhEndY + (iL*iStepEndY), (UChar)uiOri, eWedgeRes, ((iL%2)==0 && (iK%2)==0) ); 978 #else979 cTempWedgelet.setWedgelet( uhStartX + (iK*iStepStartX) , uhStartY + (iK*iStepStartY), uhEndX + (iL*iStepEndX), uhEndY + (iL*iStepEndY), (UChar)uiOri, eWedgeRes );980 #endif981 974 addWedgeletToList( cTempWedgelet, racWedgeList, racWedgeRefList ); 982 975 } 983 976 } 984 977 } 985 #if HHIQC_DMMFASTSEARCH_B0039986 978 UInt uiThrSz = DMM3_SIMPLIFY_TR; 987 979 … … 1001 993 } 1002 994 g_aauiWdgLstM3.push_back(auiWdgListSz); 1003 #endif1004 995 } 1005 996 … … 1037 1028 if( bValid ) 1038 1029 { 1039 #if HHIQC_DMMFASTSEARCH_B0039 1040 cWedgelet.findClosetAngle(); 1041 #endif 1030 cWedgelet.findClosetAngle(); 1042 1031 racWedgeList.push_back( cWedgelet ); 1043 1032 TComWedgeRef cWedgeRef; … … 1046 1035 } 1047 1036 } 1048 #endif 1037 #endif //HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 1049 1038 1050 1039 //! \} -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComRom.h
r294 r295 188 188 extern std::vector< std::vector<TComWedgeRef> > g_aacWedgeRefLists; 189 189 190 #if HHI QC_DMMFASTSEARCH_B0039190 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 191 191 extern std::vector< std::vector< std::vector<UInt> > > g_aauiWdgLstM3; 192 192 extern std::vector< std::vector<TComWedgeNode> > g_aacWedgeNodeLists; -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComSlice.h
r294 r295 54 54 class TComDepthMapGenerator; 55 55 #endif 56 #if H HI_INTER_VIEW_RESIDUAL_PRED56 #if H3D_IVRP 57 57 class TComResidualGenerator; 58 58 #endif … … 389 389 UInt m_uiMultiviewMvPredMode; 390 390 #endif 391 #if H HI_INTER_VIEW_RESIDUAL_PRED391 #if H3D_IVRP 392 392 UInt m_uiMultiviewResPredMode; 393 393 #endif … … 396 396 TComDepthMapGenerator* m_pcDepthMapGenerator; 397 397 #endif 398 #if H HI_INTER_VIEW_RESIDUAL_PRED398 #if H3D_IVRP 399 399 TComResidualGenerator* m_pcResidualGenerator; 400 400 #endif … … 639 639 Void setPredDepthMapGeneration( UInt uiViewId, Bool bIsDepth, UInt uiPdmGenMode = 0, UInt uiPdmMvPredMode = 0, UInt uiPdmPrec = 0, Int** aaiPdmScaleNomDelta = 0, Int** aaiPdmOffset = 0 ); 640 640 #endif 641 #if H HI_INTER_VIEW_RESIDUAL_PRED641 #if H3D_IVRP 642 642 Void setMultiviewResPredMode ( UInt uiResPrdMode ) { m_uiMultiviewResPredMode = uiResPrdMode; } 643 643 #endif … … 653 653 UInt getMultiviewMvPredMode () { return m_uiMultiviewMvPredMode; } 654 654 #endif 655 #if H HI_INTER_VIEW_RESIDUAL_PRED655 #if H3D_IVRP 656 656 UInt getMultiviewResPredMode () { return m_uiMultiviewResPredMode; } 657 657 #endif … … 661 661 TComDepthMapGenerator* getDepthMapGenerator() { return m_pcDepthMapGenerator; } 662 662 #endif 663 #if H HI_INTER_VIEW_RESIDUAL_PRED663 #if H3D_IVRP 664 664 Void setResidualGenerator( TComResidualGenerator* pcResidualGenerator ) { m_pcResidualGenerator = pcResidualGenerator; } 665 665 TComResidualGenerator* getResidualGenerator() { return m_pcResidualGenerator; } -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComWedgelet.cpp
r189 r295 52 52 m_uhOri ( 0 ), 53 53 m_eWedgeRes( FULL_PEL ) 54 #if HHI QC_DMMFASTSEARCH_B003954 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 55 55 , m_bIsCoarse( false ) 56 56 #endif … … 65 65 m_uhOri ( rcWedge.m_uhOri ), 66 66 m_eWedgeRes( rcWedge.m_eWedgeRes ), 67 #if HHI QC_DMMFASTSEARCH_B003967 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 68 68 m_bIsCoarse( rcWedge.m_bIsCoarse ), 69 69 m_uiAng ( rcWedge.m_uiAng ), … … 101 101 } 102 102 103 #if HHI QC_DMMFASTSEARCH_B0039103 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 104 104 Void TComWedgelet::findClosetAngle() 105 105 { … … 142 142 m_uhOri = uhOri; 143 143 m_eWedgeRes = eWedgeRes; 144 #if HHI QC_DMMFASTSEARCH_B0039144 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 145 145 m_bIsCoarse = bIsCoarse; 146 146 #endif … … 687 687 case( 2 ): { for( UInt iX = uiTempBlockSize-1; iX > uhXs; iX-- ) { UInt iY = uiTempBlockSize-1; while( pbTempPattern[(iY * iTempStride) + iX] == false ) { pbTempPattern[(iY * iTempStride) + iX] = true; iY--; } } } break; 688 688 case( 3 ): { for( UInt iY = uiTempBlockSize-1; iY > uhYs; iY-- ) { UInt iX = 0; while( pbTempPattern[(iY * iTempStride) + iX] == false ) { pbTempPattern[(iY * iTempStride) + iX] = true; iX++; } } } break; 689 #if HHI QC_DMMFASTSEARCH_B0039689 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 690 690 case( 4 ): 691 691 { … … 721 721 case( 2 ): { uiOffX = 1; uiOffY = 1; } break; 722 722 case( 3 ): { uiOffX = 0; uiOffY = 1; } break; 723 #if HHI QC_DMMFASTSEARCH_B0039723 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 724 724 case( 4 ): 725 725 { … … 805 805 } 806 806 807 #if HHI QC_DMMFASTSEARCH_B0039807 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 808 808 TComWedgeNode::TComWedgeNode() 809 809 { -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComWedgelet.h
r189 r295 50 50 }; 51 51 52 #if HHI QC_DMMFASTSEARCH_B003952 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 53 53 #define NUM_WEDGE_REFINES 8 54 54 #define NO_IDX MAX_UINT … … 67 67 UChar m_uhOri; // orientation index 68 68 WedgeResolution m_eWedgeRes; // start/end pos resolution 69 #if HHI QC_DMMFASTSEARCH_B003969 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 70 70 Bool m_bIsCoarse; 71 71 UInt m_uiAng; … … 99 99 UChar getEndY () { return m_uhYe; } 100 100 UChar getOri () { return m_uhOri; } 101 #if HHI QC_DMMFASTSEARCH_B0039101 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 102 102 Bool getIsCoarse() { return m_bIsCoarse; } 103 103 UInt getAng () { return m_uiAng; } … … 153 153 typedef std::vector<TComWedgeRef> WedgeRefList; 154 154 155 #if HHI QC_DMMFASTSEARCH_B0039155 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 156 156 // ==================================================================================================================== 157 157 // Class definition TComWedgeNode -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TypeDef.h
r294 r295 56 56 #define HHI_DMM_WEDGE_INTRA 1 // depth model modes independent on texture (explicit and intra-predicted Wedgelet prediction) 57 57 #define HHI_DMM_PRED_TEX 1 // depth model modes dependent on texture (inter-component Wedgelet and Contour prediction ) 58 // HHIQC_DMMFASTSEARCH_B0039, fast Wedgelet search for DMM modes 1 and 3 59 58 60 #define LGE_EDGE_INTRA_A0070 1 // JCT3V-A0070 59 61 60 #define HHIQC_DMMFASTSEARCH_B0039 1 // JCT3V-B0039: fast Wedgelet search for DMM modes 1 and 3 // --> weg61 62 62 #define HHI_DMM_DELTADC_Q1_C0034 1 // JCT3V-C0034: no quantization and fast encoder search for DMM delta DC values 63 #if HHIQC_DMMFASTSEARCH_B0039&& HHI_DMM_PRED_TEX63 #if ( HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA ) && HHI_DMM_PRED_TEX 64 64 #define LGE_DMM3_SIMP_C0044 1 65 65 #endif … … 86 86 // QC_MRG_CANS_B0048 , JCT3V-B0048, B0086, B0069 87 87 // OL_DISMV_POS_B0069 , different pos for disparity MV candidate, B0069 88 // MTK_INTERVIEW_MERGE_A0049 , // JCT3V-A0049second part88 // MTK_INTERVIEW_MERGE_A0049 , second part 89 89 #define QC_AMVP_MRG_UNIFY_IVCAN_C0051 1 90 #define QC_C0051_FIXED_BY_MTK 1 // bug fix for C0051 implementation90 #define QC_C0051_FIXED_BY_MTK 1 // Bug fix for C0051 implementation 91 91 92 92 93 93 ///// ***** INTERVIEW RESIDUAL PREDICTION ********* 94 #define HHI_INTER_VIEW_RESIDUAL_PRED 1 // inter-view residual prediction 94 #define H3D_IVRP 1 // Inter-view residual prediction 95 // HHI_INTER_VIEW_RESIDUAL_PRED 95 96 // QC_SIMPLIFIEDIVRP_M24938 96 #if H HI_INTER_VIEW_RESIDUAL_PRED97 #define LG_RESTRICTEDRESPRED_M24766 1 // restricted inter-view residual prediction97 #if H3D_IVRP 98 #define LG_RESTRICTEDRESPRED_M24766 1 // Restricted inter-view residual prediction 98 99 #define FIX_LG_RESTRICTEDRESPRED_M24766 1 99 100 #else … … 101 102 #endif 102 103 103 #define MTK_MDIVRP_C0138 1 // mode-dependent inter-view residual prediction104 #define MTK_C0138_FIXED 1 // fix for IBP coding structure in view direction (not CTC)104 #define MTK_MDIVRP_C0138 1 // Mode-dependent inter-view residual prediction 105 #define MTK_C0138_FIXED 1 // Fix for IBP coding structure in view direction (not CTC) 105 106 106 107 … … 174 175 ///// ***** VSP ********* 175 176 #define MERL_VSP_C0152 1 // JCT3V-C0152: 1: enable VSP-related tools; 0: disable VSP-related tools 176 #define FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152 1177 177 #if MERL_VSP_C0152 178 178 … … 241 241 242 242 243 #if HHI QC_DMMFASTSEARCH_B0039243 #if HHI_DMM_PRED_TEX || HHI_DMM_WEDGE_INTRA 244 244 #define DMM3_SIMPLIFY_TR 1 245 245 #endif … … 257 257 ///// ***** HM 6.1 ********* 258 258 259 //// REMOVED HM 6.1 Guard macros 259 //// REMOVED HM 6.1 Guard macros (corresponding to macros removed in HM 6.3.1) 260 260 /* 261 261 #define SKIPFRAME_BUGFIX 1 ///< bug fix to enable skipFrame at decoder -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp
r294 r295 1492 1492 pcSPS->setPredDepthMapGeneration( 0, false ); 1493 1493 #endif 1494 #if H HI_INTER_VIEW_RESIDUAL_PRED1494 #if H3D_IVRP 1495 1495 pcSPS->setMultiviewResPredMode ( 0 ); 1496 1496 #endif … … 1507 1507 pcSPS->setPredDepthMapGeneration( uiCode, true ); 1508 1508 #endif 1509 #if H HI_INTER_VIEW_RESIDUAL_PRED1509 #if H3D_IVRP 1510 1510 pcSPS->setMultiviewResPredMode ( 0 ); 1511 1511 #endif … … 1537 1537 UInt uiMultiviewMvPredMode = 0; 1538 1538 #endif 1539 #if H HI_INTER_VIEW_RESIDUAL_PRED1539 #if H3D_IVRP 1540 1540 UInt uiMultiviewResPredMode = 0; 1541 1541 #endif … … 1552 1552 READ_UVLC( uiMultiviewMvPredMode, "multi_view_mv_pred_mode" ); 1553 1553 #endif 1554 #if H HI_INTER_VIEW_RESIDUAL_PRED1554 #if H3D_IVRP 1555 1555 READ_FLAG( uiMultiviewResPredMode, "multi_view_residual_pred_mode" ); 1556 1556 #endif … … 1562 1562 #endif 1563 1563 #endif 1564 #if H HI_INTER_VIEW_RESIDUAL_PRED1564 #if H3D_IVRP 1565 1565 pcSPS->setMultiviewResPredMode ( uiMultiviewResPredMode ); 1566 1566 #endif … … 2381 2381 } 2382 2382 2383 #if H HI_INTER_VIEW_RESIDUAL_PRED2383 #if H3D_IVRP 2384 2384 Void 2385 2385 TDecCavlc::parseResPredFlag( TComDataCU* pcCU, Bool& rbResPredFlag, UInt uiAbsPartIdx, UInt uiDepth ) -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecCAVLC.h
r294 r295 141 141 Void parseMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ); 142 142 Void parseMergeIndex ( TComDataCU* pcCU, UInt& ruiMergeIndex, UInt uiAbsPartIdx, UInt uiDepth ); 143 #if H HI_INTER_VIEW_RESIDUAL_PRED143 #if H3D_IVRP 144 144 Void parseResPredFlag ( TComDataCU* pcCU, Bool& rbResPredFlag, UInt uiAbsPartIdx, UInt uiDepth ); 145 145 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecCu.cpp
r294 r295 54 54 m_ppcYuvResi = NULL; 55 55 m_ppcYuvReco = NULL; 56 #if H HI_INTER_VIEW_RESIDUAL_PRED56 #if H3D_IVRP 57 57 m_ppcYuvResPred = NULL; 58 58 #endif … … 82 82 m_ppcYuvResi = new TComYuv*[m_uiMaxDepth-1]; 83 83 m_ppcYuvReco = new TComYuv*[m_uiMaxDepth-1]; 84 #if H HI_INTER_VIEW_RESIDUAL_PRED84 #if H3D_IVRP 85 85 m_ppcYuvResPred = new TComYuv* [m_uiMaxDepth-1]; 86 86 #endif … … 96 96 m_ppcYuvResi[ui] = new TComYuv; m_ppcYuvResi[ui]->create( uiWidth, uiHeight ); 97 97 m_ppcYuvReco[ui] = new TComYuv; m_ppcYuvReco[ui]->create( uiWidth, uiHeight ); 98 #if H HI_INTER_VIEW_RESIDUAL_PRED98 #if H3D_IVRP 99 99 m_ppcYuvResPred[ui] = new TComYuv; m_ppcYuvResPred[ui]->create( uiWidth, uiHeight ); 100 100 #endif … … 120 120 m_ppcYuvResi[ui]->destroy(); delete m_ppcYuvResi[ui]; m_ppcYuvResi[ui] = NULL; 121 121 m_ppcYuvReco[ui]->destroy(); delete m_ppcYuvReco[ui]; m_ppcYuvReco[ui] = NULL; 122 #if H HI_INTER_VIEW_RESIDUAL_PRED122 #if H3D_IVRP 123 123 m_ppcYuvResPred[ui]->destroy(); delete m_ppcYuvResPred[ui]; m_ppcYuvResPred[ui] = NULL; 124 124 #endif … … 128 128 delete [] m_ppcYuvResi; m_ppcYuvResi = NULL; 129 129 delete [] m_ppcYuvReco; m_ppcYuvReco = NULL; 130 #if H HI_INTER_VIEW_RESIDUAL_PRED130 #if H3D_IVRP 131 131 delete [] m_ppcYuvResPred; m_ppcYuvResPred = NULL; 132 132 #endif … … 409 409 } 410 410 #endif 411 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C0138411 #if H3D_IVRP && !MTK_MDIVRP_C0138 412 412 m_pcEntropyDecoder->decodeResPredFlag( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth], 0 ); 413 413 #endif … … 460 460 #endif 461 461 462 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C0138462 #if H3D_IVRP && !MTK_MDIVRP_C0138 463 463 if( !pcCU->isIntra( uiAbsPartIdx ) ) 464 464 { … … 691 691 #endif 692 692 693 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C0138693 #if H3D_IVRP && !MTK_MDIVRP_C0138 694 694 if( pcCU->getResPredFlag( 0 ) ) 695 695 { … … 721 721 else 722 722 { 723 #if H HI_INTER_VIEW_RESIDUAL_PRED723 #if H3D_IVRP 724 724 #if MTK_MDIVRP_C0138 725 725 if (pcCU->getMergeFlag(0) && pcCU->getMergeIndex(0)==0 && pcCU->getResPredAvail(0)) -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecCu.h
r231 r295 61 61 TComYuv** m_ppcYuvResi; ///< array of residual buffer 62 62 TComYuv** m_ppcYuvReco; ///< array of prediction & reconstruction buffer 63 #if H HI_INTER_VIEW_RESIDUAL_PRED63 #if H3D_IVRP 64 64 TComYuv** m_ppcYuvResPred; ///< residual prediction buffer 65 65 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp
r294 r295 108 108 } 109 109 110 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C0138110 #if H3D_IVRP && !MTK_MDIVRP_C0138 111 111 Void 112 112 TDecEntropy::decodeResPredFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, TComDataCU* pcSubCU, UInt uiPUIdx ) -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecEntropy.h
r294 r295 103 103 virtual Void parseMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ) = 0; 104 104 virtual Void parseMergeIndex ( TComDataCU* pcCU, UInt& ruiMergeIndex, UInt uiAbsPartIdx, UInt uiDepth ) = 0; 105 #if H HI_INTER_VIEW_RESIDUAL_PRED105 #if H3D_IVRP 106 106 virtual Void parseResPredFlag ( TComDataCU* pcCU, Bool& rbResPredFlag, UInt uiAbsPartIdx, UInt uiDepth ) = 0; 107 107 #endif … … 198 198 Void decodeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ); 199 199 Void decodeMergeIndex ( TComDataCU* pcSubCU, UInt uiPartIdx, UInt uiPartAddr, PartSize eCUMode, UChar* puhInterDirNeighbours, TComMvField* pcMvFieldNeighbours, UInt uiDepth ); 200 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C0138200 #if H3D_IVRP && !MTK_MDIVRP_C0138 201 201 Void decodeResPredFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, TComDataCU* pcSubCU, UInt uiPUIdx ); 202 202 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecGop.cpp
r294 r295 93 93 ,TComDepthMapGenerator* pcDepthMapGenerator 94 94 #endif 95 #if H HI_INTER_VIEW_RESIDUAL_PRED95 #if H3D_IVRP 96 96 ,TComResidualGenerator* pcResidualGenerator 97 97 #endif … … 109 109 m_pcDepthMapGenerator = pcDepthMapGenerator; 110 110 #endif 111 #if H HI_INTER_VIEW_RESIDUAL_PRED111 #if H3D_IVRP 112 112 m_pcResidualGenerator = pcResidualGenerator; 113 113 #endif … … 298 298 m_pcDepthMapGenerator->predictDepthMap ( rpcPic ); 299 299 #endif 300 #if H HI_INTER_VIEW_RESIDUAL_PRED300 #if H3D_IVRP 301 301 m_pcResidualGenerator->initViewComponent( rpcPic ); 302 302 #endif … … 331 331 else 332 332 { 333 #if H HI_INTER_VIEW_RESIDUAL_PRED333 #if H3D_IVRP 334 334 // set residual picture 335 335 m_pcResidualGenerator->setRecResidualPic( rpcPic ); -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecGop.h
r294 r295 90 90 TComDepthMapGenerator* m_pcDepthMapGenerator; 91 91 #endif 92 #if H HI_INTER_VIEW_RESIDUAL_PRED92 #if H3D_IVRP 93 93 TComResidualGenerator* m_pcResidualGenerator; 94 94 #endif … … 118 118 ,TComDepthMapGenerator* pcDepthMapGenerator 119 119 #endif 120 #if H HI_INTER_VIEW_RESIDUAL_PRED120 #if H3D_IVRP 121 121 ,TComResidualGenerator* pcResidualGenerator 122 122 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecSbac.cpp
r294 r295 62 62 , m_cCUMergeFlagExtSCModel ( 1, 1, NUM_MERGE_FLAG_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) 63 63 , m_cCUMergeIdxExtSCModel ( 1, 1, NUM_MERGE_IDX_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) 64 #if H HI_INTER_VIEW_RESIDUAL_PRED64 #if H3D_IVRP 65 65 , m_cResPredFlagSCModel ( 1, 1, NUM_RES_PRED_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 66 66 #endif … … 159 159 m_cCUMergeFlagExtSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT ); 160 160 m_cCUMergeIdxExtSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_MERGE_IDX_EXT ); 161 #if H HI_INTER_VIEW_RESIDUAL_PRED161 #if H3D_IVRP 162 162 m_cResPredFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_RES_PRED_FLAG ); 163 163 #endif … … 246 246 m_cCUMergeFlagExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT ); 247 247 m_cCUMergeIdxExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_IDX_EXT ); 248 #if H HI_INTER_VIEW_RESIDUAL_PRED248 #if H3D_IVRP 249 249 m_cResPredFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_RES_PRED_FLAG ); 250 250 #endif … … 670 670 } 671 671 672 #if H HI_INTER_VIEW_RESIDUAL_PRED672 #if H3D_IVRP 673 673 Void 674 674 TDecSbac::parseResPredFlag( TComDataCU* pcCU, Bool& rbResPredFlag, UInt uiAbsPartIdx, UInt uiDepth ) -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecSbac.h
r294 r295 173 173 Void parseMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ); 174 174 Void parseMergeIndex ( TComDataCU* pcCU, UInt& ruiMergeIndex, UInt uiAbsPartIdx, UInt uiDepth ); 175 #if H HI_INTER_VIEW_RESIDUAL_PRED175 #if H3D_IVRP 176 176 Void parseResPredFlag ( TComDataCU* pcCU, Bool& rbResPredFlag, UInt uiAbsPartIdx, UInt uiDepth ); 177 177 #endif … … 216 216 ContextModel3DBuffer m_cCUMergeFlagExtSCModel; 217 217 ContextModel3DBuffer m_cCUMergeIdxExtSCModel; 218 #if H HI_INTER_VIEW_RESIDUAL_PRED218 #if H3D_IVRP 219 219 ContextModel3DBuffer m_cResPredFlagSCModel; 220 220 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecTop.cpp
r294 r295 398 398 m_cDepthMapGenerator.destroy(); 399 399 #endif 400 #if H HI_INTER_VIEW_RESIDUAL_PRED400 #if H3D_IVRP 401 401 m_cResidualGenerator.destroy(); 402 402 #endif … … 415 415 , &m_cDepthMapGenerator 416 416 #endif 417 #if H HI_INTER_VIEW_RESIDUAL_PRED417 #if H3D_IVRP 418 418 , &m_cResidualGenerator 419 419 #endif … … 429 429 #endif 430 430 #endif 431 #if H HI_INTER_VIEW_RESIDUAL_PRED431 #if H3D_IVRP 432 432 m_cResidualGenerator.init( &m_cTrQuant, &m_cDepthMapGenerator ); 433 433 #endif … … 465 465 } 466 466 467 #if H HI_INTER_VIEW_RESIDUAL_PRED467 #if H3D_IVRP 468 468 Void 469 469 TDecTop::deleteExtraPicBuffers( Int iPoc ) … … 855 855 } 856 856 #endif 857 #if H HI_INTER_VIEW_RESIDUAL_PRED857 #if H3D_IVRP 858 858 m_cResidualGenerator.create( true, m_apcSlicePilot->getSPS()->getPicWidthInLumaSamples(), m_apcSlicePilot->getSPS()->getPicHeightInLumaSamples(), g_uiMaxCUDepth, g_uiMaxCUWidth, g_uiMaxCUHeight, g_uiBitDepth + g_uiBitIncrement ); 859 859 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecTop.h
r294 r295 213 213 TComDepthMapGenerator m_cDepthMapGenerator; 214 214 #endif 215 #if H HI_INTER_VIEW_RESIDUAL_PRED215 #if H3D_IVRP 216 216 TComResidualGenerator m_cResidualGenerator; 217 217 #endif … … 249 249 Void xCopyVPS( TComVPS* pVPSV0); 250 250 #endif 251 #if H HI_INTER_VIEW_RESIDUAL_PRED251 #if H3D_IVRP 252 252 Void deleteExtraPicBuffers ( Int iPoc ); 253 253 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp
r294 r295 694 694 WRITE_UVLC( pcSPS->getMultiviewMvPredMode(), "multi_view_mv_pred_mode" ); 695 695 #endif 696 #if H HI_INTER_VIEW_RESIDUAL_PRED696 #if H3D_IVRP 697 697 WRITE_FLAG ( pcSPS->getMultiviewResPredMode(), "multi_view_residual_pred_mode" ); 698 698 #endif … … 1293 1293 } 1294 1294 1295 #if H HI_INTER_VIEW_RESIDUAL_PRED1295 #if H3D_IVRP 1296 1296 Void 1297 1297 TEncCavlc::codeResPredFlag( TComDataCU* pcCU, UInt uiAbsPartIdx ) -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncCavlc.h
r294 r295 157 157 Void codeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 158 158 Void codeMergeIndex ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 159 #if H HI_INTER_VIEW_RESIDUAL_PRED159 #if H3D_IVRP 160 160 Void codeResPredFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 161 161 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncCfg.h
r294 r295 332 332 Double m_dMultiviewMvRegLambdaScale; 333 333 #endif 334 #if H HI_INTER_VIEW_RESIDUAL_PRED334 #if H3D_IVRP 335 335 UInt m_uiMultiviewResPredMode; 336 336 #endif … … 413 413 Void setMultiviewMvRegLambdaScale ( Double d) { m_dMultiviewMvRegLambdaScale = d; } 414 414 #endif 415 #if H HI_INTER_VIEW_RESIDUAL_PRED415 #if H3D_IVRP 416 416 Void setMultiviewResPredMode ( UInt u ) { m_uiMultiviewResPredMode = u; } 417 417 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncCu.cpp
r294 r295 72 72 m_ppcRecoYuvTemp = new TComYuv*[m_uhTotalDepth-1]; 73 73 m_ppcOrigYuv = new TComYuv*[m_uhTotalDepth-1]; 74 #if H HI_INTER_VIEW_RESIDUAL_PRED74 #if H3D_IVRP 75 75 m_ppcResPredTmp = new TComYuv*[m_uhTotalDepth-1]; 76 76 #endif … … 101 101 102 102 m_ppcOrigYuv [i] = new TComYuv; m_ppcOrigYuv [i]->create(uiWidth, uiHeight); 103 #if H HI_INTER_VIEW_RESIDUAL_PRED103 #if H3D_IVRP 104 104 m_ppcResPredTmp [i] = new TComYuv; m_ppcResPredTmp [i]->create(uiWidth, uiHeight); 105 105 #endif … … 166 166 m_ppcOrigYuv[i]->destroy(); delete m_ppcOrigYuv[i]; m_ppcOrigYuv[i] = NULL; 167 167 } 168 #if H HI_INTER_VIEW_RESIDUAL_PRED168 #if H3D_IVRP 169 169 if(m_ppcResPredTmp[i]) 170 170 { … … 219 219 m_ppcOrigYuv = NULL; 220 220 } 221 #if H HI_INTER_VIEW_RESIDUAL_PRED221 #if H3D_IVRP 222 222 if(m_ppcResPredTmp) 223 223 { … … 601 601 if( rpcBestCU->getSlice()->getSliceType() != I_SLICE ) 602 602 { 603 #if H HI_INTER_VIEW_RESIDUAL_PRED603 #if H3D_IVRP 604 604 #if MTK_MDIVRP_C0138 605 605 Bool bResPredAvailable = false; … … 627 627 #endif 628 628 #endif 629 #if H HI_INTER_VIEW_RESIDUAL_PRED629 #if H3D_IVRP 630 630 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 631 631 #endif … … 658 658 if ( !bEarlySkip ) 659 659 { 660 #if H HI_INTER_VIEW_RESIDUAL_PRED660 #if H3D_IVRP 661 661 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 662 662 #endif … … 679 679 } 680 680 #endif 681 #if H HI_INTER_VIEW_RESIDUAL_PRED681 #if H3D_IVRP 682 682 } // uiResPrdId 683 683 #endif … … 738 738 if( rpcBestCU->getSlice()->getSliceType() != I_SLICE ) 739 739 { 740 #if H HI_INTER_VIEW_RESIDUAL_PRED740 #if H3D_IVRP 741 741 #if MTK_MDIVRP_C0138 742 742 Bool bResPredAvailable = false; … … 776 776 { 777 777 #endif 778 #if H HI_INTER_VIEW_RESIDUAL_PRED778 #if H3D_IVRP 779 779 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 780 780 #endif … … 799 799 if(doNotBlockPu) 800 800 { 801 #if H HI_INTER_VIEW_RESIDUAL_PRED801 #if H3D_IVRP 802 802 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 803 803 #endif … … 826 826 if(doNotBlockPu) 827 827 { 828 #if H HI_INTER_VIEW_RESIDUAL_PRED828 #if H3D_IVRP 829 829 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 830 830 #endif … … 872 872 if(doNotBlockPu) 873 873 { 874 #if H HI_INTER_VIEW_RESIDUAL_PRED874 #if H3D_IVRP 875 875 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 876 876 #endif … … 891 891 if(doNotBlockPu) 892 892 { 893 #if H HI_INTER_VIEW_RESIDUAL_PRED893 #if H3D_IVRP 894 894 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 895 895 #endif … … 921 921 if(doNotBlockPu) 922 922 { 923 #if H HI_INTER_VIEW_RESIDUAL_PRED923 #if H3D_IVRP 924 924 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 925 925 #endif … … 940 940 if(doNotBlockPu) 941 941 { 942 #if H HI_INTER_VIEW_RESIDUAL_PRED942 #if H3D_IVRP 943 943 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 944 944 #endif … … 972 972 if(doNotBlockPu) 973 973 { 974 #if H HI_INTER_VIEW_RESIDUAL_PRED974 #if H3D_IVRP 975 975 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 976 976 #endif … … 991 991 if(doNotBlockPu) 992 992 { 993 #if H HI_INTER_VIEW_RESIDUAL_PRED993 #if H3D_IVRP 994 994 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 995 995 #endif … … 1017 1017 if(doNotBlockPu) 1018 1018 { 1019 #if H HI_INTER_VIEW_RESIDUAL_PRED1019 #if H3D_IVRP 1020 1020 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 1021 1021 #endif … … 1036 1036 if(doNotBlockPu) 1037 1037 { 1038 #if H HI_INTER_VIEW_RESIDUAL_PRED1038 #if H3D_IVRP 1039 1039 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 1040 1040 #endif … … 1056 1056 1057 1057 #else 1058 #if H HI_INTER_VIEW_RESIDUAL_PRED1058 #if H3D_IVRP 1059 1059 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 1060 1060 #endif … … 1065 1065 #endif 1066 1066 rpcTempCU->initEstData( uiDepth, iQP ); 1067 #if H HI_INTER_VIEW_RESIDUAL_PRED1067 #if H3D_IVRP 1068 1068 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 1069 1069 #endif … … 1074 1074 #endif 1075 1075 rpcTempCU->initEstData( uiDepth, iQP ); 1076 #if H HI_INTER_VIEW_RESIDUAL_PRED1076 #if H3D_IVRP 1077 1077 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 1078 1078 #endif … … 1083 1083 #endif 1084 1084 rpcTempCU->initEstData( uiDepth, iQP ); 1085 #if H HI_INTER_VIEW_RESIDUAL_PRED1085 #if H3D_IVRP 1086 1086 rpcTempCU->setResPredIndicator( bResPredAvailable, bResPredFlag ); 1087 1087 #endif … … 1099 1099 } 1100 1100 #endif 1101 #if H HI_INTER_VIEW_RESIDUAL_PRED1101 #if H3D_IVRP 1102 1102 } // uiResPrdId 1103 1103 #endif … … 1805 1805 ); 1806 1806 #endif 1807 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C01381807 #if H3D_IVRP && !MTK_MDIVRP_C0138 1808 1808 m_pcEntropyCoder->encodeResPredFlag( pcCU, uiAbsPartIdx, 0 ); 1809 1809 #endif … … 1840 1840 ); 1841 1841 #endif 1842 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C01381842 #if H3D_IVRP && !MTK_MDIVRP_C0138 1843 1843 if( !pcCU->isIntra( uiAbsPartIdx ) ) 1844 1844 { … … 1880 1880 Int numValidMergeCand = 0; 1881 1881 1882 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C01381882 #if H3D_IVRP && !MTK_MDIVRP_C0138 1883 1883 Bool bResPrdAvail = rpcTempCU->getResPredAvail( 0 ); 1884 1884 Bool bResPrdFlag = rpcTempCU->getResPredFlag ( 0 ); … … 1977 1977 rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 1978 1978 1979 #if H HI_INTER_VIEW_RESIDUAL_PRED1979 #if H3D_IVRP 1980 1980 #if MTK_MDIVRP_C0138 1981 1981 rpcTempCU->setResPredAvailSubParts(bResPredAvail, 0, 0, uhDepth); … … 2055 2055 m_ppcResiYuvBest[uhDepth], 2056 2056 m_ppcRecoYuvTemp[uhDepth], 2057 #if H HI_INTER_VIEW_RESIDUAL_PRED2057 #if H3D_IVRP 2058 2058 m_ppcResPredTmp [uhDepth], 2059 2059 #endif … … 2108 2108 rpcTempCU->setDepthSubParts( uhDepth, 0 ); 2109 2109 2110 #if H HI_INTER_VIEW_RESIDUAL_PRED2110 #if H3D_IVRP 2111 2111 Bool bResPrdAvail = rpcTempCU->getResPredAvail( 0 ); 2112 2112 Bool bResPrdFlag = rpcTempCU->getResPredFlag ( 0 ); … … 2115 2115 rpcTempCU->setPartSizeSubParts ( ePartSize, 0, uhDepth ); 2116 2116 2117 #if H HI_INTER_VIEW_RESIDUAL_PRED2117 #if H3D_IVRP 2118 2118 rpcTempCU->setResPredAvailSubParts( bResPrdAvail, 0, 0, uhDepth ); 2119 2119 rpcTempCU->setResPredFlagSubParts ( bResPrdFlag, 0, 0, uhDepth ); … … 2121 2121 rpcTempCU->setPredModeSubParts ( MODE_INTER, 0, uhDepth ); 2122 2122 2123 #if H HI_INTER_VIEW_RESIDUAL_PRED2123 #if H3D_IVRP 2124 2124 #if !LG_RESTRICTEDRESPRED_M24766 2125 2125 if( rpcTempCU->getResPredFlag( 0 ) ) … … 2149 2149 #endif 2150 2150 2151 #if H HI_INTER_VIEW_RESIDUAL_PRED2151 #if H3D_IVRP 2152 2152 #if !LG_RESTRICTEDRESPRED_M24766 2153 2153 if( rpcTempCU->getResPredFlag( 0 ) ) … … 2172 2172 m_ppcResiYuvBest[uhDepth], 2173 2173 m_ppcRecoYuvTemp[uhDepth], 2174 #if H HI_INTER_VIEW_RESIDUAL_PRED2174 #if H3D_IVRP 2175 2175 m_ppcResPredTmp [uhDepth], 2176 2176 #endif … … 2183 2183 m_ppcResiYuvBest[uhDepth], 2184 2184 m_ppcRecoYuvTemp[uhDepth], 2185 #if H HI_INTER_VIEW_RESIDUAL_PRED2185 #if H3D_IVRP 2186 2186 m_ppcResPredTmp [uhDepth], 2187 2187 #endif … … 2855 2855 m_ppcResiYuvBest[uhDepth], 2856 2856 m_ppcRecoYuvTemp[uhDepth], 2857 #if H HI_INTER_VIEW_RESIDUAL_PRED2857 #if H3D_IVRP 2858 2858 m_ppcResPredTmp [uhDepth], 2859 2859 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncCu.h
r294 r295 78 78 TComYuv** m_ppcRecoYuvTemp; ///< Temporary Reconstruction Yuv for each depth 79 79 TComYuv** m_ppcOrigYuv; ///< Original Yuv for each depth 80 #if H HI_INTER_VIEW_RESIDUAL_PRED80 #if H3D_IVRP 81 81 TComYuv** m_ppcResPredTmp; ///< Temporary residual prediction for each depth 82 82 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncEntropy.cpp
r294 r295 455 455 } 456 456 457 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C0138457 #if H3D_IVRP && !MTK_MDIVRP_C0138 458 458 Void 459 459 TEncEntropy::encodeResPredFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx, Bool bRD ) -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncEntropy.h
r294 r295 114 114 virtual Void codeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0; 115 115 virtual Void codeMergeIndex ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0; 116 #if H HI_INTER_VIEW_RESIDUAL_PRED116 #if H3D_IVRP 117 117 virtual Void codeResPredFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0; 118 118 #endif … … 250 250 Void encodeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx ); 251 251 Void encodeMergeIndex ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx, Bool bRD = false ); 252 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C0138252 #if H3D_IVRP && !MTK_MDIVRP_C0138 253 253 Void encodeResPredFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPUIdx, Bool bRD = false ); 254 254 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncGOP.cpp
r294 r295 78 78 m_pcDepthMapGenerator = NULL; 79 79 #endif 80 #if H HI_INTER_VIEW_RESIDUAL_PRED80 #if H3D_IVRP 81 81 m_pcResidualGenerator = NULL; 82 82 #endif … … 131 131 m_pcDepthMapGenerator = pcTEncTop->getDepthMapGenerator(); 132 132 #endif 133 #if H HI_INTER_VIEW_RESIDUAL_PRED133 #if H3D_IVRP 134 134 m_pcResidualGenerator = pcTEncTop->getResidualGenerator(); 135 135 #endif … … 736 736 m_pcDepthMapGenerator->covertOrgDepthMap( pcPic ); 737 737 #endif 738 #if H HI_INTER_VIEW_RESIDUAL_PRED738 #if H3D_IVRP 739 739 m_pcResidualGenerator->initViewComponent( pcPic ); 740 740 #endif … … 800 800 pcSlice = pcPic->getSlice(0); 801 801 802 #if H HI_INTER_VIEW_RESIDUAL_PRED802 #if H3D_IVRP 803 803 // set residual picture 804 804 m_pcResidualGenerator->setRecResidualPic( pcPic ); -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncGOP.h
r189 r295 97 97 TComDepthMapGenerator* m_pcDepthMapGenerator; 98 98 #endif 99 #if H HI_INTER_VIEW_RESIDUAL_PRED99 #if H3D_IVRP 100 100 TComResidualGenerator* m_pcResidualGenerator; 101 101 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSbac.cpp
r294 r295 70 70 , m_cCUMergeFlagExtSCModel ( 1, 1, NUM_MERGE_FLAG_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) 71 71 , m_cCUMergeIdxExtSCModel ( 1, 1, NUM_MERGE_IDX_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) 72 #if H HI_INTER_VIEW_RESIDUAL_PRED72 #if H3D_IVRP 73 73 , m_cResPredFlagSCModel ( 1, 1, NUM_RES_PRED_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 74 74 #endif … … 155 155 m_cCUMergeFlagExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT); 156 156 m_cCUMergeIdxExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_IDX_EXT); 157 #if H HI_INTER_VIEW_RESIDUAL_PRED157 #if H3D_IVRP 158 158 m_cResPredFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_RES_PRED_FLAG ); 159 159 #endif … … 241 241 curCost += m_cCUMergeFlagExtSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT); 242 242 curCost += m_cCUMergeIdxExtSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_MERGE_IDX_EXT); 243 #if H HI_INTER_VIEW_RESIDUAL_PRED243 #if H3D_IVRP 244 244 curCost += m_cResPredFlagSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_RES_PRED_FLAG); 245 245 #endif … … 308 308 m_cCUMergeFlagExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT); 309 309 m_cCUMergeIdxExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_IDX_EXT); 310 #if H HI_INTER_VIEW_RESIDUAL_PRED310 #if H3D_IVRP 311 311 m_cResPredFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_RES_PRED_FLAG ); 312 312 #endif … … 835 835 } 836 836 837 #if H HI_INTER_VIEW_RESIDUAL_PRED837 #if H3D_IVRP 838 838 Void 839 839 TEncSbac::codeResPredFlag( TComDataCU* pcCU, UInt uiAbsPartIdx ) -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSbac.h
r294 r295 206 206 Void codeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 207 207 Void codeMergeIndex ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 208 #if H HI_INTER_VIEW_RESIDUAL_PRED208 #if H3D_IVRP 209 209 Void codeResPredFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 210 210 #endif … … 263 263 ContextModel3DBuffer m_cCUMergeFlagExtSCModel; 264 264 ContextModel3DBuffer m_cCUMergeIdxExtSCModel; 265 #if H HI_INTER_VIEW_RESIDUAL_PRED265 #if H3D_IVRP 266 266 ContextModel3DBuffer m_cResPredFlagSCModel; 267 267 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r294 r295 4757 4757 * \returns Void 4758 4758 */ 4759 #if H HI_INTER_VIEW_RESIDUAL_PRED4759 #if H3D_IVRP 4760 4760 Void TEncSearch::encodeResAndCalcRdInterCU( TComDataCU* pcCU, TComYuv* pcYuvOrg, TComYuv* pcYuvPred, TComYuv*& rpcYuvResi, TComYuv*& rpcYuvResiBest, TComYuv*& rpcYuvRec, TComYuv*& rpcYuvResPrd, Bool bSkipRes ) 4761 4761 #else … … 4791 4791 } 4792 4792 #else 4793 #if H HI_INTER_VIEW_RESIDUAL_PRED4793 #if H3D_IVRP 4794 4794 // add residual prediction 4795 4795 if( pcCU->getResPredFlag( 0 ) ) … … 4853 4853 ); 4854 4854 #endif 4855 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C01384855 #if H3D_IVRP && !MTK_MDIVRP_C0138 4856 4856 m_pcEntropyCoder->encodeResPredFlag( pcCU, 0, 0, true ); 4857 4857 #endif … … 4928 4928 rpcYuvResi->subtract( pcYuvOrg, pcYuvPred, 0, uiWidth ); 4929 4929 #endif 4930 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C01384930 #if H3D_IVRP && !MTK_MDIVRP_C0138 4931 4931 // subtract residual prediction 4932 4932 if( pcCU->getResPredFlag( 0 ) ) … … 4943 4943 #else 4944 4944 rpcYuvResi->subtract( pcYuvOrg, pcYuvPred, 0, uiWidth ); 4945 #if H HI_INTER_VIEW_RESIDUAL_PRED4945 #if H3D_IVRP 4946 4946 // add residual prediction 4947 4947 if( pcCU->getResPredFlag( 0 ) ) … … 5134 5134 #endif 5135 5135 } 5136 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C01385136 #if H3D_IVRP && !MTK_MDIVRP_C0138 5137 5137 // add residual prediction 5138 5138 if( pcCU->getResPredFlag( 0 ) ) … … 6170 6170 ); 6171 6171 #endif 6172 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C01386172 #if H3D_IVRP && !MTK_MDIVRP_C0138 6173 6173 m_pcEntropyCoder->encodeResPredFlag( pcCU, 0, 0, true ); 6174 6174 #endif … … 6197 6197 ); 6198 6198 #endif 6199 #if H HI_INTER_VIEW_RESIDUAL_PRED&& !MTK_MDIVRP_C01386199 #if H3D_IVRP && !MTK_MDIVRP_C0138 6200 6200 m_pcEntropyCoder->encodeResPredFlag( pcCU, 0, 0, true ); 6201 6201 #endif … … 6792 6792 WedgeList* pacWedgeList = &g_aacWedgeLists[(g_aucConvertToBit[uiWidth])]; 6793 6793 Dist iDist = RDO_DIST_MAX; 6794 #if HHIQC_DMMFASTSEARCH_B00396795 6794 WedgeNodeList* pacWedgeNodeList = &g_aacWedgeNodeLists[(g_aucConvertToBit[uiWidth])]; 6796 6795 xSearchWedgeFullMinDistFast( pcCU, uiAbsPtIdx, pacWedgeNodeList, pacWedgeList, piOrig, uiStride, uiWidth, uiHeight, ruiTabIdx, iDist ); 6797 #else6798 xSearchWedgeFullMinDist( pcCU, uiAbsPtIdx, pacWedgeList, piOrig, uiStride, uiWidth, uiHeight, ruiTabIdx, iDist );6799 #endif6800 6796 6801 6797 TComWedgelet* pcBestWedgelet = &(pacWedgeList->at(ruiTabIdx)); … … 6908 6904 } 6909 6905 6910 #if HHIQC_DMMFASTSEARCH_B00396911 6906 Void TEncSearch::xSearchWedgeFullMinDistFast( TComDataCU* pcCU, UInt uiAbsPtIdx, WedgeNodeList* pacWedgeNodeList, WedgeList* pacWedgeList, Pel* piRef, UInt uiRefStride, UInt uiWidth, UInt uiHeight, UInt& ruiTabIdx, Dist& riDist ) 6912 6907 { … … 7027 7022 return; 7028 7023 } 7029 #endif7030 7024 7031 7025 Void TEncSearch::xSearchWedgePredDirMinDist( TComDataCU* pcCU, UInt uiAbsPtIdx, WedgeList* pacWedgeList, Pel* piRef, UInt uiRefStride, UInt uiWidth, UInt uiHeight, UInt& ruiTabIdx, Int& riWedgeDeltaEnd ) … … 7118 7112 return; 7119 7113 } 7120 #endif 7114 #endif // HHI_DMM_WEDGE_INTRA 7115 7121 7116 #if HHI_DMM_PRED_TEX 7122 7117 Void TEncSearch::findWedgeTexMinDist( TComDataCU* pcCU, … … 7171 7166 delete pcContourWedge; 7172 7167 } 7173 #endif 7168 #endif // HHI_DMM_PRED_TEX 7174 7169 7175 7170 #if LGE_EDGE_INTRA_A0070 … … 8271 8266 iDeltaDC1 = iFullDeltaDC1; 8272 8267 } 8273 #endif 8268 #endif // HHI_VSO 8274 8269 8275 8270 xDeltaDCQuantScaleDown( pcCU, iDeltaDC0 ); … … 8279 8274 pcCU->setEdgeDeltaDC1( uiAbsPartIdx, iDeltaDC1 ); 8280 8275 } 8281 #endif 8282 #endif 8276 #endif // LGE_EDGE_INTRA_DELTA_DC 8277 #endif // LGE_EDGE_INTRA_A0070 8283 8278 8284 8279 #if RWTH_SDC_DLT_B0036 … … 8313 8308 pMask += uiMaskStride*subSamplePix; 8314 8309 } 8315 #else 8310 #else //HS_REFERENCE_SUBSAMPLE_C0154 8316 8311 for (Int y=0; y<uiSize; y++) 8317 8312 { … … 8328 8323 pMask += uiMaskStride; 8329 8324 } 8330 #endif 8325 #endif // HS_REFERENCE_SUBSAMPLE_C0154 8331 8326 // compute mean for each segment 8332 8327 for( UChar ucSeg = 0; ucSeg < uiNumSegments; ucSeg++ ) … … 8338 8333 } 8339 8334 } 8340 #endif 8335 #endif // RWTH_SDC_DLT_B0036 8341 8336 8342 8337 //! \} -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSearch.h
r294 r295 208 208 ); 209 209 210 #if H HI_INTER_VIEW_RESIDUAL_PRED210 #if H3D_IVRP 211 211 /// encode residual and compute rd-cost for inter mode 212 212 Void encodeResAndCalcRdInterCU( TComDataCU* pcCU, … … 401 401 UInt& ruiTabIdx, 402 402 Dist& riDist ); 403 #if HHIQC_DMMFASTSEARCH_B0039 403 404 404 Void xSearchWedgeFullMinDistFast( TComDataCU* pcCU, 405 405 UInt uiAbsPtIdx, … … 412 412 UInt& ruiTabIdx, 413 413 Dist& riDist ); 414 #endif415 414 Void xSearchWedgePredDirMinDist ( TComDataCU* pcCU, 416 415 UInt uiAbsPtIdx, … … 422 421 UInt& ruiTabIdx, 423 422 Int& riWedgeDeltaEnd ); 424 #endif 423 #endif // HHI_DMM_WEDGE_INTRA 425 424 #if HHI_DMM_PRED_TEX 426 425 Void findWedgeTexMinDist ( TComDataCU* pcCU, … … 451 450 Bool bAboveAvail, 452 451 Bool bLeftAvail ); 453 #endif 452 #endif // HHI_DMM_PRED_TEX 454 453 455 454 // ------------------------------------------------------------------------------------------------------------------- -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncTop.cpp
r294 r295 120 120 m_cDepthMapGenerator. create( false, getSourceWidth(), getSourceHeight(), g_uiMaxCUDepth, g_uiMaxCUWidth, g_uiMaxCUHeight, g_uiBitDepth + g_uiBitIncrement, PDM_SUB_SAMP_EXP_X(m_uiPredDepthMapGeneration), PDM_SUB_SAMP_EXP_Y(m_uiPredDepthMapGeneration) ); 121 121 #endif 122 #if H HI_INTER_VIEW_RESIDUAL_PRED122 #if H3D_IVRP 123 123 m_cResidualGenerator. create( false, getSourceWidth(), getSourceHeight(), g_uiMaxCUDepth, g_uiMaxCUWidth, g_uiMaxCUHeight, g_uiBitDepth + g_uiBitIncrement ); 124 124 #endif … … 251 251 m_cDepthMapGenerator. destroy(); 252 252 #endif 253 #if H HI_INTER_VIEW_RESIDUAL_PRED253 #if H3D_IVRP 254 254 m_cResidualGenerator. destroy(); 255 255 #endif … … 347 347 #endif 348 348 #endif 349 #if H HI_INTER_VIEW_RESIDUAL_PRED349 #if H3D_IVRP 350 350 m_cResidualGenerator.init( &m_cTrQuant, &m_cDepthMapGenerator ); 351 351 #endif … … 473 473 474 474 475 #if HHI_INTERVIEW_SKIP || H3D_IVMP || H HI_INTER_VIEW_RESIDUAL_PRED475 #if HHI_INTERVIEW_SKIP || H3D_IVMP || H3D_IVRP 476 476 Void 477 477 TEncTop::deleteExtraPicBuffers( Int iPoc ) … … 494 494 pcPic->removeOrgDepthMapBuffer(); 495 495 #endif 496 #if H HI_INTER_VIEW_RESIDUAL_PRED496 #if H3D_IVRP 497 497 pcPic->removeResidualBuffer (); 498 498 #endif … … 716 716 m_cSPS.setPredDepthMapGeneration( m_viewId, true ); 717 717 #endif 718 #if H HI_INTER_VIEW_RESIDUAL_PRED718 #if H3D_IVRP 719 719 m_cSPS.setMultiviewResPredMode ( 0 ); 720 720 #endif … … 736 736 #endif 737 737 #endif 738 #if H HI_INTER_VIEW_RESIDUAL_PRED738 #if H3D_IVRP 739 739 m_cSPS.setMultiviewResPredMode ( m_uiMultiviewResPredMode ); 740 740 #endif … … 745 745 m_cSPS.setPredDepthMapGeneration( m_viewId, false ); 746 746 #endif 747 #if H HI_INTER_VIEW_RESIDUAL_PRED747 #if H3D_IVRP 748 748 m_cSPS.setMultiviewResPredMode ( 0 ); 749 749 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncTop.h
r292 r295 103 103 TComDepthMapGenerator m_cDepthMapGenerator; ///< depth map generator 104 104 #endif 105 #if H HI_INTER_VIEW_RESIDUAL_PRED105 #if H3D_IVRP 106 106 TComResidualGenerator m_cResidualGenerator; ///< generator for residual pictures 107 107 #endif … … 173 173 } 174 174 } 175 #if HHI_INTERVIEW_SKIP || H3D_IVMP || H HI_INTER_VIEW_RESIDUAL_PRED175 #if HHI_INTERVIEW_SKIP || H3D_IVMP || H3D_IVRP 176 176 Void deleteExtraPicBuffers ( Int iPoc ); 177 177 #endif … … 234 234 TComDepthMapGenerator* getDepthMapGenerator () { return &m_cDepthMapGenerator; } 235 235 #endif 236 #if H HI_INTER_VIEW_RESIDUAL_PRED236 #if H3D_IVRP 237 237 TComResidualGenerator* getResidualGenerator () { return &m_cResidualGenerator; } 238 238 #endif
Note: See TracChangeset for help on using the changeset viewer.