Changeset 765 in 3DVCSoftware for branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp
- Timestamp:
- 12 Jan 2014, 02:46:46 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp
r764 r765 136 136 m_piVSPFlag = NULL; 137 137 #endif 138 #if MTK_SPIVMP_F0110138 #if H_3D_SPIVMP 139 139 m_pbSPIVMPFlag = NULL; 140 140 #endif … … 190 190 m_piVSPFlag = (Char* )xMalloc(Char, uiNumPartition); 191 191 #endif 192 #if MTK_SPIVMP_F0110192 #if H_3D_SPIVMP 193 193 m_pbSPIVMPFlag = (Bool* )xMalloc(Bool, uiNumPartition); 194 194 #endif … … 342 342 if ( m_piVSPFlag ) { xFree(m_piVSPFlag); m_piVSPFlag = NULL; } 343 343 #endif 344 #if MTK_SPIVMP_F0110344 #if H_3D_SPIVMP 345 345 if ( m_pbSPIVMPFlag ) { xFree(m_pbSPIVMPFlag); m_pbSPIVMPFlag = NULL; } 346 346 #endif … … 541 541 m_piVSPFlag[ui] = pcFrom->m_piVSPFlag[ui]; 542 542 #endif 543 #if MTK_SPIVMP_F0110543 #if H_3D_SPIVMP 544 544 m_pbSPIVMPFlag[ui] = pcFrom->m_pbSPIVMPFlag[ui]; 545 545 #endif … … 586 586 memset( m_piVSPFlag + firstElement, 0, numElements * sizeof( *m_piVSPFlag ) ); 587 587 #endif 588 #if MTK_SPIVMP_F0110588 #if H_3D_SPIVMP 589 589 memset( m_pbSPIVMPFlag + firstElement, 0, numElements * sizeof( *m_pbSPIVMPFlag ) ); 590 590 #endif … … 759 759 m_piVSPFlag[ui] = 0; 760 760 #endif 761 #if MTK_SPIVMP_F0110761 #if H_3D_SPIVMP 762 762 m_pbSPIVMPFlag[ui] = 0; 763 763 #endif … … 859 859 memset( m_piVSPFlag, 0, sizeof( Char ) * m_uiNumPartition ); 860 860 #endif 861 #if MTK_SPIVMP_F0110861 #if H_3D_SPIVMP 862 862 memset( m_pbSPIVMPFlag, 0, sizeof( Bool ) * m_uiNumPartition ); 863 863 #endif … … 948 948 m_pDvInfo[ ui ] = pcCU->m_pDvInfo[uiPartOffset+ui]; 949 949 #endif 950 #if MTK_SPIVMP_F0110950 #if H_3D_SPIVMP 951 951 m_pbSPIVMPFlag[ui]=pcCU->m_pbSPIVMPFlag[uiPartOffset+ui]; 952 952 #endif … … 1098 1098 m_piVSPFlag = pcCU->getVSPFlag() + uiPart; 1099 1099 #endif 1100 #if MTK_SPIVMP_F01101100 #if H_3D_SPIVMP 1101 1101 m_pbSPIVMPFlag = pcCU->getSPIVMPFlag() + uiPart; 1102 1102 #endif … … 1247 1247 m_pDvInfo = pcCU->getDvInfo() + uiAbsPartIdx; 1248 1248 #endif 1249 #if MTK_SPIVMP_F01101249 #if H_3D_SPIVMP 1250 1250 m_pbSPIVMPFlag = pcCU->getSPIVMPFlag() + uiAbsPartIdx; 1251 1251 #endif … … 1299 1299 1300 1300 #endif 1301 #if MTK_SPIVMP_F01101301 #if H_3D_SPIVMP 1302 1302 memcpy( m_pbSPIVMPFlag + uiOffset, pcCU->getSPIVMPFlag(), sizeof( Bool ) * uiNumPartition ); 1303 1303 #endif … … 1421 1421 memcpy( rpcCU->getDvInfo() + m_uiAbsIdxInLCU, m_pDvInfo, sizeof( *m_pDvInfo ) * m_uiNumPartition ); 1422 1422 #endif 1423 #if MTK_SPIVMP_F01101423 #if H_3D_SPIVMP 1424 1424 memcpy( rpcCU->getSPIVMPFlag() + m_uiAbsIdxInLCU, m_pbSPIVMPFlag, sizeof( Bool ) * m_uiNumPartition ); 1425 1425 #endif … … 1530 1530 memcpy( rpcCU->getVSPFlag() + uiPartOffset, m_piVSPFlag, sizeof(Char) * uiQNumPart ); 1531 1531 #endif 1532 #if MTK_SPIVMP_F01101532 #if H_3D_SPIVMP 1533 1533 memcpy( rpcCU->getSPIVMPFlag() + uiPartOffset, m_pbSPIVMPFlag, sizeof(Bool) * uiQNumPart ); 1534 1534 #endif … … 2647 2647 } 2648 2648 2649 #if MTK_SPIVMP_F01102649 #if H_3D_SPIVMP 2650 2650 Void TComDataCU::setSPIVMPFlagSubParts( Bool bSPIVMPFlag, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth ) 2651 2651 { … … 3860 3860 , InheritedVSPDisInfo* inheritedVSPDisInfo 3861 3861 #endif 3862 #if MTK_SPIVMP_F01103862 #if H_3D_SPIVMP 3863 3863 , Bool* pbSPIVMPFlag, TComMvField* pcMvFieldSP, UChar* puhInterDirSP 3864 3864 #endif … … 3980 3980 iPosLeftAbove[1] = numA1B1B0; 3981 3981 #if H_3D_VSP 3982 #if BUGFIX_2_F0093 && MTK_VSP_SIMPLIFICATION_F01113983 3982 if ( ( ( getAddr() - pcCUAbove->getAddr() ) == 0) && (pcCUAbove->getVSPFlag(uiAbovePartIdx) == 1) 3984 #else3985 if (pcCUAbove->getVSPFlag(uiAbovePartIdx) == 13986 #endif3987 3983 #if H_3D_IC 3988 3984 && !bICFlag … … 3994 3990 { 3995 3991 vspFlag[numA1B1B0] = 1; 3996 #if !MTK_VSP_SIMPLIFICATION_F01113997 xInheritVSPDisInfo(pcCUAbove,uiAbovePartIdx,iCount,inheritedVSPDisInfo);3998 #endif3999 3992 } 4000 3993 #endif … … 6368 6361 } 6369 6362 #endif 6370 #if QC_DEPTH_IV_MRG_F01256363 #if H_3D_IV_MERGE 6371 6364 Bool TComDataCU::getDispNeighBlocks (UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDisp) 6372 6365 { … … 6948 6941 #endif 6949 6942 6950 #if MTK_SPIVMP_F01106943 #if H_3D_SPIVMP 6951 6944 Void TComDataCU::getSPPara(Int iPUWidth, Int iPUHeight, Int& iNumSP, Int& iNumSPInOneLine, Int& iSPWidth, Int& iSPHeight) 6952 6945 { … … 7000 6993 #if H_3D_IV_MERGE 7001 6994 Bool 7002 TComDataCU::getInterViewMergeCands(UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* availableMcDc 7003 #if QC_DEPTH_IV_MRG_F0125 7004 , Bool bIsDepth 7005 #endif 7006 #if MTK_SPIVMP_F0110 6995 TComDataCU::getInterViewMergeCands(UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* availableMcDc , Bool bIsDepth 6996 #if H_3D_SPIVMP 7007 6997 , TComMvField* pcMvFieldSP, UChar* puhInterDirSP 7008 6998 #endif … … 7013 7003 7014 7004 //--- get base CU/PU and check prediction mode --- 7015 #if QC_DEPTH_IV_MRG_F01257016 7005 TComPic* pcBasePic = pcSlice->getIvPic( bIsDepth, iViewIndex ); 7017 #else7018 TComPic* pcBasePic = pcSlice->getIvPic( false, iViewIndex );7019 #endif7020 7006 TComPicYuv* pcBaseRec = pcBasePic->getPicYuvRec (); 7021 7007 … … 7028 7014 pcBaseRec->getTopLeftSamplePos( getAddr(), getZorderIdxInCU() + uiPartAddr, iCurrPosX, iCurrPosY ); 7029 7015 7030 #if !MTK_SPIVMP_F0110 7031 #if QC_DEPTH_IV_MRG_F0125 7016 #if !H_3D_SPIVMP 7032 7017 iCurrPosX += ( iWidth >> 1 ); 7033 7018 iCurrPosY += ( iHeight >> 1 ); 7034 #else7035 iCurrPosX += ( ( iWidth - 1 ) >> 1 );7036 iCurrPosY += ( ( iHeight - 1 ) >> 1 );7037 #endif7038 7019 #endif 7039 7020 … … 7053 7034 #endif 7054 7035 7055 #if MTK_SPIVMP_F01107036 #if H_3D_SPIVMP 7056 7037 //////////////////////////////// 7057 7038 //////////sub-PU IvMC/////////// … … 7183 7164 //////////////////////////////// 7184 7165 7185 #if MTK_SPIVMP_F01107166 #if H_3D_SPIVMP 7186 7167 for(Int iLoopCan = 1; iLoopCan < 2; iLoopCan ++) 7187 7168 #else … … 7192 7173 // iLoopCan == 1 --> IvMCShift 7193 7174 7194 #if ! MTK_SPIVMP_F01107175 #if !H_3D_SPIVMP 7195 7176 Int iBaseCUAddr; 7196 7177 Int iBaseAbsPartIdx; … … 7200 7181 Int offsetH = (iLoopCan == 0) ? 0 : ( ((iHeight/2)*4) + 4 ); 7201 7182 7202 #if MTK_SPIVMP_F01107183 #if H_3D_SPIVMP 7203 7184 iBasePosX = Clip3( 0, pcBaseRec->getWidth () - 1, iCurrPosX + ( (cDv.getHor() + offsetW + 2 ) >> 2 ) ); 7204 7185 iBasePosY = Clip3( 0, pcBaseRec->getHeight() - 1, iCurrPosY + ( (cDv.getVer() + offsetH + 2 ) >> 2 ) ); … … 7209 7190 pcBaseRec->getCUAddrAndPartIdx( iBasePosX , iBasePosY , iBaseCUAddr, iBaseAbsPartIdx ); 7210 7191 7211 #if MTK_SPIVMP_F01107192 #if H_3D_SPIVMP 7212 7193 pcBaseCU = pcBasePic->getCU( iBaseCUAddr ); 7213 7194 #else … … 7241 7222 TComMv cMv(cBaseMvField.getHor(), cBaseMvField.getVer()); 7242 7223 #if H_3D_NBDV 7243 #if QC_DEPTH_IV_MRG_F01257224 #if H_3D_IV_MERGE 7244 7225 if( !bIsDepth ) 7245 7226 { … … 7249 7230 cMv.setIDVVer (cDv.getVer()); 7250 7231 cMv.setIDVVId (iViewIndex); 7251 #if QC_DEPTH_IV_MRG_F01257232 #if H_3D_IV_MERGE 7252 7233 } 7253 7234 #endif … … 7266 7247 } 7267 7248 } 7268 #if MTK_SPIVMP_F01107249 #if H_3D_SPIVMP 7269 7250 for(Int iLoopCan = 1; iLoopCan < 2; iLoopCan ++) 7270 7251 #else … … 7297 7278 #endif 7298 7279 cMv.setHor( cMv.getHor() + ioffsetDV ); 7299 #if QC_DEPTH_IV_MRG_F01257280 #if H_3D_IV_MERGE 7300 7281 if( bIsDepth ) 7301 7282 cMv.setHor((cMv.getHor()+2)>>2);
Note: See TracChangeset for help on using the changeset viewer.