Changeset 287 in 3DVCSoftware for branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.cpp
- Timestamp:
- 17 Feb 2013, 01:49:33 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.cpp
r280 r287 207 207 #if HHI_DMM_PRED_TEX 208 208 m_puiWedgePredTexTabIdx = NULL; 209 #if LGE_DMM3_SIMP_C0044 210 m_puiWedgePredTexIntraTabIdx = NULL; 211 #endif 209 212 m_piWedgePredTexDeltaDC1 = NULL; 210 213 m_piWedgePredTexDeltaDC2 = NULL; … … 358 361 #if HHI_DMM_PRED_TEX 359 362 m_puiWedgePredTexTabIdx = (UInt*)xMalloc(UInt, uiNumPartition); 363 #if LGE_DMM3_SIMP_C0044 364 m_puiWedgePredTexIntraTabIdx = (UInt*)xMalloc(UInt, uiNumPartition); 365 #endif 360 366 m_piWedgePredTexDeltaDC1 = (Int* )xMalloc(Int, uiNumPartition); 361 367 m_piWedgePredTexDeltaDC2 = (Int* )xMalloc(Int, uiNumPartition); … … 486 492 #if HHI_DMM_PRED_TEX 487 493 if ( m_puiWedgePredTexTabIdx ) { xFree(m_puiWedgePredTexTabIdx ); m_puiWedgePredTexTabIdx = NULL; } 494 #if LGE_DMM3_SIMP_C0044 495 if ( m_puiWedgePredTexIntraTabIdx ) { xFree(m_puiWedgePredTexIntraTabIdx); m_puiWedgePredTexIntraTabIdx = NULL; } 496 #endif 488 497 if ( m_piWedgePredTexDeltaDC1 ) { xFree(m_piWedgePredTexDeltaDC1 ); m_piWedgePredTexDeltaDC1 = NULL; } 489 498 if ( m_piWedgePredTexDeltaDC2 ) { xFree(m_piWedgePredTexDeltaDC2 ); m_piWedgePredTexDeltaDC2 = NULL; } … … 702 711 #if HHI_DMM_PRED_TEX 703 712 memset( m_puiWedgePredTexTabIdx + firstElement, 0, sizeof( UInt ) * numElements ); 713 #if LGE_DMM3_SIMP_C0044 714 memset( m_puiWedgePredTexIntraTabIdx + firstElement, 0, sizeof( UInt ) * numElements ); 715 #endif 704 716 memset( m_piWedgePredTexDeltaDC1 + firstElement, 0, sizeof( Int ) * numElements ); 705 717 memset( m_piWedgePredTexDeltaDC2 + firstElement, 0, sizeof( Int ) * numElements ); … … 890 902 #if HHI_DMM_PRED_TEX 891 903 m_puiWedgePredTexTabIdx [ui] = 0; 904 #if LGE_DMM3_SIMP_C0044 905 m_puiWedgePredTexIntraTabIdx [ui] = 0; 906 #endif 892 907 m_piWedgePredTexDeltaDC1 [ui] = 0; 893 908 m_piWedgePredTexDeltaDC2 [ui] = 0; … … 1014 1029 #if HHI_DMM_PRED_TEX 1015 1030 memset( m_puiWedgePredTexTabIdx, 0, sizeof( UInt ) * m_uiNumPartition ); 1031 #if LGE_DMM3_SIMP_C0044 1032 memset( m_puiWedgePredTexIntraTabIdx, 0, sizeof( UInt ) * m_uiNumPartition ); 1033 #endif 1016 1034 memset( m_piWedgePredTexDeltaDC1, 0, sizeof( Int ) * m_uiNumPartition ); 1017 1035 memset( m_piWedgePredTexDeltaDC2, 0, sizeof( Int ) * m_uiNumPartition ); … … 1088 1106 #if HHI_DMM_PRED_TEX 1089 1107 m_puiWedgePredTexTabIdx [ui]=pcCU->getWedgePredTexTabIdx (uiPartOffset+ui); 1108 #if LGE_DMM3_SIMP_C0044 1109 m_puiWedgePredTexIntraTabIdx [ui]=pcCU->getWedgePredTexIntraTabIdx (uiPartOffset+ui); 1110 #endif 1090 1111 m_piWedgePredTexDeltaDC1 [ui]=pcCU->getWedgePredTexDeltaDC1 (uiPartOffset+ui); 1091 1112 m_piWedgePredTexDeltaDC2 [ui]=pcCU->getWedgePredTexDeltaDC2 (uiPartOffset+ui); … … 1292 1313 #if HHI_DMM_PRED_TEX 1293 1314 m_puiWedgePredTexTabIdx = pcCU->getWedgePredTexTabIdx() + uiPart; 1315 #if LGE_DMM3_SIMP_C0044 1316 m_puiWedgePredTexIntraTabIdx = pcCU->getWedgePredTexIntraTabIdx() + uiPart; 1317 #endif 1294 1318 m_piWedgePredTexDeltaDC1 = pcCU->getWedgePredTexDeltaDC1() + uiPart; 1295 1319 m_piWedgePredTexDeltaDC2 = pcCU->getWedgePredTexDeltaDC2() + uiPart; … … 1483 1507 #if HHI_DMM_PRED_TEX 1484 1508 memcpy( m_puiWedgePredTexTabIdx + uiOffset, pcCU->getWedgePredTexTabIdx(), sizeof( UInt ) * uiNumPartition ); 1509 #if LGE_DMM3_SIMP_C0044 1510 memcpy( m_puiWedgePredTexIntraTabIdx + uiOffset, pcCU->getWedgePredTexIntraTabIdx(), sizeof( UInt ) * uiNumPartition ); 1511 #endif 1485 1512 memcpy( m_piWedgePredTexDeltaDC1 + uiOffset, pcCU->getWedgePredTexDeltaDC1(), sizeof( Int ) * uiNumPartition ); 1486 1513 memcpy( m_piWedgePredTexDeltaDC2 + uiOffset, pcCU->getWedgePredTexDeltaDC2(), sizeof( Int ) * uiNumPartition ); … … 1615 1642 #if HHI_DMM_PRED_TEX 1616 1643 memcpy( rpcCU->getWedgePredTexTabIdx() + m_uiAbsIdxInLCU, m_puiWedgePredTexTabIdx, sizeof( UInt ) * m_uiNumPartition ); 1644 #if LGE_DMM3_SIMP_C0044 1645 memcpy( rpcCU->getWedgePredTexIntraTabIdx() + m_uiAbsIdxInLCU, m_puiWedgePredTexIntraTabIdx, sizeof( UInt ) * m_uiNumPartition ); 1646 #endif 1617 1647 memcpy( rpcCU->getWedgePredTexDeltaDC1() + m_uiAbsIdxInLCU, m_piWedgePredTexDeltaDC1, sizeof( Int ) * m_uiNumPartition ); 1618 1648 memcpy( rpcCU->getWedgePredTexDeltaDC2() + m_uiAbsIdxInLCU, m_piWedgePredTexDeltaDC2, sizeof( Int ) * m_uiNumPartition ); … … 1748 1778 #if HHI_DMM_PRED_TEX 1749 1779 memcpy( rpcCU->getWedgePredTexTabIdx() + uiPartOffset, m_puiWedgePredTexTabIdx, sizeof( UInt ) * uiQNumPart ); 1780 #if LGE_DMM3_SIMP_C0044 1781 memcpy( rpcCU->getWedgePredTexIntraTabIdx() + uiPartOffset, m_puiWedgePredTexIntraTabIdx, sizeof( UInt ) * uiQNumPart ); 1782 #endif 1750 1783 memcpy( rpcCU->getWedgePredTexDeltaDC1() + uiPartOffset, m_piWedgePredTexDeltaDC1, sizeof( Int ) * uiQNumPart ); 1751 1784 memcpy( rpcCU->getWedgePredTexDeltaDC2() + uiPartOffset, m_piWedgePredTexDeltaDC2, sizeof( Int ) * uiQNumPart ); … … 3190 3223 } 3191 3224 3225 #if LGE_ILLUCOMP_DEPTH_C0046 3226 //This modification is not needed after integrating JCT3V-C0137 3227 Bool TComDataCU::isICFlagRequired(UInt uiAbsPartIdx, UInt uiDepth) 3228 { 3229 UInt uiPartAddr; 3230 UInt iNumbPart; 3231 3232 if(!getSlice()->getIsDepth()) 3233 { 3234 Int iWidth, iHeight; 3235 3236 iNumbPart = ( getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N ? 1 : (getPartitionSize(uiAbsPartIdx) == SIZE_NxN ? 4 : 2) ); 3237 3238 for(UInt i = 0; i < iNumbPart; i++) 3239 { 3240 getPartIndexAndSize(i, uiPartAddr, iWidth, iHeight, uiAbsPartIdx, true); 3241 uiPartAddr += uiAbsPartIdx; 3242 3243 for(UInt uiRefIdx = 0; uiRefIdx < 2; uiRefIdx++) 3244 { 3245 RefPicList eRefList = uiRefIdx ? REF_PIC_LIST_1 : REF_PIC_LIST_0; 3246 Int iBestRefIdx = getCUMvField(eRefList)->getRefIdx(uiPartAddr); 3247 3248 if((getInterDir(uiPartAddr) & (uiRefIdx+1)) && iBestRefIdx >= 0 && getSlice()->getViewId() != getSlice()->getRefViewId(eRefList, iBestRefIdx)) 3249 { 3250 return true; 3251 } 3252 } 3253 } 3254 } 3255 else 3256 { 3257 iNumbPart = getPic()->getNumPartInCU() >> (uiDepth << 1); 3258 3259 for(UInt i = 0; i < iNumbPart; i++) 3260 { 3261 uiPartAddr = uiAbsPartIdx + i; 3262 3263 for(UInt uiRefIdx = 0; uiRefIdx < 2; uiRefIdx++) 3264 { 3265 RefPicList eRefList = uiRefIdx ? REF_PIC_LIST_1 : REF_PIC_LIST_0; 3266 Int iBestRefIdx = getCUMvField(eRefList)->getRefIdx(uiPartAddr); 3267 3268 if((getInterDir(uiPartAddr) & (uiRefIdx+1)) && iBestRefIdx >= 0 && getSlice()->getViewId() != getSlice()->getRefViewId(eRefList, iBestRefIdx)) 3269 { 3270 return true; 3271 } 3272 } 3273 } 3274 } 3275 3276 return false; 3277 } 3278 #else 3192 3279 Bool TComDataCU::isICFlagRequired(UInt uiAbsPartIdx) 3193 3280 { … … 3211 3298 3212 3299 if((getInterDir(uiPartAddr) & (uiRefIdx+1)) && iBestRefIdx >= 0 && getSlice()->getViewId() != getSlice()->getRefViewId(eRefList, iBestRefIdx)) 3300 { 3213 3301 return true; 3214 3302 } 3215 3303 } 3304 } 3216 3305 return false; 3217 3306 } 3307 #endif 3218 3308 #endif 3219 3309 … … 8925 9015 } 8926 9016 9017 #if LGE_DMM3_SIMP_C0044 9018 Void TComDataCU::setWedgePredTexIntraTabIdxSubParts( UInt uiTIdx, UInt uiAbsPartIdx, UInt uiDepth ) 9019 { 9020 UInt uiCurrPartNumb = m_pcPic->getNumPartInCU() >> (uiDepth << 1); 9021 9022 for ( UInt ui = 0; ui < uiCurrPartNumb; ui++ ) 9023 { 9024 m_puiWedgePredTexIntraTabIdx[uiAbsPartIdx+ui] = uiTIdx; 9025 } 9026 } 9027 #endif 9028 8927 9029 Void TComDataCU::setWedgePredTexDeltaDC1SubParts( Int iDC1, UInt uiAbsPartIdx, UInt uiDepth ) 8928 9030 {
Note: See TracChangeset for help on using the changeset viewer.