Changeset 1131 in 3DVCSoftware for branches/HTM-13.0-dev0/source/Lib/TLibCommon
- Timestamp:
- 18 Feb 2015, 17:39:40 (10 years ago)
- Location:
- branches/HTM-13.0-dev0/source/Lib/TLibCommon
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComDataCU.cpp
r1124 r1131 154 154 #endif 155 155 156 #if !LGE_DDD_REMOVAL_J0042_J0030157 #if H_3D_DDD158 m_pucDisparityDerivedDepth = NULL;159 m_pbUseDDD = NULL;160 #endif161 #endif162 156 } 163 157 … … 301 295 m_pcPattern = (TComPattern*)xMalloc(TComPattern, 1); 302 296 303 #if !LGE_DDD_REMOVAL_J0042_J0030304 #if H_3D_DDD305 m_pucDisparityDerivedDepth = (UChar* )xMalloc( UChar, uiNumPartition);306 m_pbUseDDD = (Bool* ) xMalloc( Bool, uiNumPartition);307 #endif308 #endif309 297 310 298 // create motion vector fields … … 390 378 #endif 391 379 392 #if !LGE_DDD_REMOVAL_J0042_J0030393 #if H_3D_DDD394 if ( m_pucDisparityDerivedDepth ) { xFree(m_pucDisparityDerivedDepth); m_pucDisparityDerivedDepth = NULL; }395 if ( m_pbUseDDD ) { xFree(m_pbUseDDD); m_pbUseDDD = NULL; }396 #endif397 #endif398 380 399 381 #if H_3D_ARP … … 524 506 #endif 525 507 526 #if !LGE_DDD_REMOVAL_J0042_J0030527 #if H_3D_DDD528 m_pucDisparityDerivedDepth[ui] = pcFrom->m_pucDisparityDerivedDepth[ui];529 m_pbUseDDD[ui] = pcFrom->m_pbUseDDD[ui];530 #endif531 #endif532 508 m_puhWidth [ui] = pcFrom->getWidth(ui); 533 509 m_puhHeight [ui] = pcFrom->getHeight(ui); … … 611 587 #endif 612 588 613 #if !LGE_DDD_REMOVAL_J0042_J0030614 #if H_3D_DDD615 memset( m_pucDisparityDerivedDepth + firstElement, 0, numElements * sizeof( *m_pucDisparityDerivedDepth ) );616 memset( m_pbUseDDD + firstElement, 0, numElements * sizeof( *m_pbUseDDD ) );617 #endif618 #endif619 589 620 590 #if H_3D_DIM … … 793 763 #endif 794 764 795 #if !LGE_DDD_REMOVAL_J0042_J0030796 #if H_3D_DDD797 m_pucDisparityDerivedDepth[ui] = 0;798 m_pbUseDDD[ui] = 0;799 #endif800 #endif801 765 802 766 #if H_3D_DIM … … 904 868 #endif 905 869 906 #if !LGE_DDD_REMOVAL_J0042_J0030907 #if H_3D_DDD908 memset( m_pucDisparityDerivedDepth, 0, iSizeInUchar );909 memset( m_pbUseDDD, 0, iSizeInBool );910 #endif911 #endif912 870 913 871 UChar uhWidth = g_uiMaxCUWidth >> uiDepth; … … 1003 961 #endif 1004 962 1005 #if !LGE_DDD_REMOVAL_J0042_J00301006 #if H_3D_DDD1007 m_pucDisparityDerivedDepth[ui] = pcCU->m_pucDisparityDerivedDepth[uiPartOffset+ui];1008 m_pbUseDDD[ui] = pcCU->m_pbUseDDD[uiPartOffset+ui];1009 #endif1010 #endif1011 963 1012 964 #if H_3D_DIM … … 1154 1106 #endif 1155 1107 1156 #if !LGE_DDD_REMOVAL_J0042_J00301157 #if H_3D_DDD1158 m_pucDisparityDerivedDepth = pcCU->getDDDepth() + uiPart;1159 m_pbUseDDD = pcCU->getUseDDD() + uiPart;1160 #endif1161 #endif1162 1108 1163 1109 m_puhLumaIntraDir = pcCU->getLumaIntraDir() + uiPart; … … 1309 1255 #endif 1310 1256 1311 #if !LGE_DDD_REMOVAL_J0042_J00301312 #if H_3D_DDD1313 m_pucDisparityDerivedDepth = pcCU->getDDDepth() + uiAbsPartIdx;1314 m_pbUseDDD = pcCU->getUseDDD() + uiAbsPartIdx;1315 #endif1316 #endif1317 1257 1318 1258 #if H_3D_DBBP … … 1380 1320 memcpy( m_puhCbf[2] + uiOffset, pcCU->getCbf(TEXT_CHROMA_V), iSizeInUchar ); 1381 1321 1382 #if !LGE_DDD_REMOVAL_J0042_J00301383 #if H_3D_DDD1384 memcpy( m_pucDisparityDerivedDepth + uiOffset, pcCU->getDDDepth(), iSizeInUchar );1385 memcpy( m_pbUseDDD + uiOffset, pcCU->getUseDDD(), iSizeInBool );1386 #endif1387 #endif1388 1322 1389 1323 … … 1485 1419 #endif 1486 1420 1487 #if !LGE_DDD_REMOVAL_J0042_J00301488 #if H_3D_DDD1489 memcpy( rpcCU->getDDDepth() + m_uiAbsIdxInLCU, m_pucDisparityDerivedDepth, iSizeInUchar );1490 memcpy( rpcCU->getUseDDD() + m_uiAbsIdxInLCU, m_pbUseDDD, iSizeInBool );1491 #endif1492 #endif1493 1421 1494 1422 memcpy( rpcCU->getPartitionSize() + m_uiAbsIdxInLCU, m_pePartSize, sizeof( *m_pePartSize ) * m_uiNumPartition ); … … 1624 1552 memcpy( rpcCU->getCbf(TEXT_CHROMA_V) + uiPartOffset, m_puhCbf[2], iSizeInUchar ); 1625 1553 1626 #if !LGE_DDD_REMOVAL_J0042_J00301627 #if H_3D_DDD1628 memcpy( rpcCU->getDDDepth() + uiPartOffset, m_pucDisparityDerivedDepth, iSizeInUchar );1629 memcpy( rpcCU->getUseDDD() + uiPartOffset, m_pbUseDDD, iSizeInBool );1630 #endif1631 #endif1632 1554 1633 1555 #if H_3D_DIM … … 1696 1618 } 1697 1619 1698 #if !LGE_DDD_REMOVAL_J0042_J00301699 #if H_3D_DDD1700 Void TComDataCU::setDDDepthSubParts ( UChar ucDDD, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )1701 {1702 setSubPart<UChar>( ucDDD, m_pucDisparityDerivedDepth, uiAbsPartIdx, uiDepth, uiPartIdx );1703 }1704 1705 Void TComDataCU::setUseDDD ( Bool bUseDDD, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )1706 {1707 setSubPart<Bool>( bUseDDD, m_pbUseDDD, uiAbsPartIdx, uiDepth, uiPartIdx );1708 }1709 1710 Void TComDataCU::setUseDDD( Bool bUseDDD, UInt uiAbsPartIdx, UInt uiDepth )1711 {1712 memset( m_pbUseDDD + uiAbsPartIdx, bUseDDD, (m_pcPic->getNumPartInCU() >> ( 2 * uiDepth ))*sizeof(Bool) );1713 }1714 1715 #endif1716 #endif1717 1620 1718 1621 // -------------------------------------------------------------------------------------------------------------------- … … 2425 2328 Bool depthRefineFlag = false; 2426 2329 #if H_3D_NBDV_REF 2427 #if HHI_TOOL_PARAMETERS_I2_J01072428 2330 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( ); 2429 #else2430 depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() );2431 #endif2432 2331 #endif // H_3D_NBDV_REF 2433 2332 … … 3340 3239 inline Bool TComDataCU::xAddVspCand( Int mrgCandIdx, DisInfo* pDInfo, Int& iCount) 3341 3240 { 3342 #if HHI_TOOL_PARAMETERS_I2_J01073343 3241 if ( m_pcSlice->getViewIndex() == 0 || !m_pcSlice->getViewSynthesisPredFlag( ) || m_pcSlice->getIsDepth() || pDInfo->m_aVIdxCan == -1) 3344 #else3345 if ( m_pcSlice->getViewIndex() == 0 || !m_pcSlice->getVPS()->getViewSynthesisPredFlag( m_pcSlice->getLayerIdInVps() ) || m_pcSlice->getIsDepth() || pDInfo->m_aVIdxCan == -1)3346 #endif3347 3242 { 3348 3243 return false; … … 3899 3794 ) 3900 3795 { 3901 #if !SEC_A1_BASED_VSP_J00393902 UInt uiAbsPartAddr = m_uiAbsIdxInLCU + uiAbsPartIdx;3903 #endif3904 3796 #if H_3D_IV_MERGE 3905 3797 //////////////////////////// … … 3914 3806 UChar tmpDir; 3915 3807 3916 #if !LGE_DDD_REMOVAL_J0042_J00303917 #if H_3D_DDD3918 m_iUseDDDCandIdx = -1;3919 #endif3920 #endif3921 3808 3922 3809 ////////////////////////////////// … … 3958 3845 deriveLeftBottomIdxGeneral ( uiAbsPartIdx, uiPUIdx, uiPartIdxLB ); 3959 3846 #if H_3D 3960 #if HHI_TOOL_PARAMETERS_I2_J01073961 3847 Bool bMPIFlag = getSlice()->getMpiFlag(); 3962 #else3963 Bool bMPIFlag = getSlice()->getVPS()->getMPIFlag( getSlice()->getLayerIdInVps() );3964 #endif3965 3848 Bool bIsDepth = getSlice()->getIsDepth(); 3966 3849 #endif … … 4022 3905 4023 3906 // above 4024 #if !SEC_A1_BASED_VSP_J00394025 UInt uiAbovePartIdx = 0;4026 TComDataCU* pcCUAbove = 0;4027 pcCUAbove = getPUAbove( uiAbovePartIdx, uiPartIdxRT );4028 #endif4029 3907 4030 3908 if (getAvailableFlagB1()) … … 4033 3911 #if H_3D_VSP 4034 3912 , 4035 #if SEC_A1_BASED_VSP_J00394036 3913 false 4037 #else4038 ( ( ( getAddr() - pcCUAbove->getAddr() ) == 0) && (pcCUAbove->getVSPFlag(uiAbovePartIdx) != 0)4039 #if H_3D_IC4040 && !bICFlag4041 #endif4042 #if H_3D_ARP4043 && !bARPFlag4044 #endif4045 #if H_3D_DBBP4046 && !bDBBPFlag4047 #endif4048 )4049 #endif4050 3914 #endif 4051 3915 , false … … 4055 3919 4056 3920 // above right 4057 #if !SEC_A1_BASED_VSP_J00394058 UInt uiAboveRightPartIdx = 0;4059 TComDataCU* pcCUAboveRight = 0;4060 pcCUAboveRight = getPUAboveRight( uiAboveRightPartIdx, uiPartIdxRT );4061 #endif4062 3921 4063 3922 if (getAvailableFlagB0()) … … 4066 3925 #if H_3D_VSP 4067 3926 , 4068 #if SEC_A1_BASED_VSP_J00394069 3927 false 4070 #else4071 ( ( ( getAddr() - pcCUAboveRight->getAddr() ) == 0) && (pcCUAboveRight->getVSPFlag(uiAboveRightPartIdx) != 0)4072 #if H_3D_IC4073 && !bICFlag4074 #endif4075 #if H_3D_ARP4076 && !bARPFlag4077 #endif4078 #if H_3D_DBBP4079 && !bDBBPFlag4080 #endif4081 )4082 #endif4083 3928 #endif 4084 3929 , false … … 4088 3933 4089 3934 // left bottom 4090 #if !SEC_A1_BASED_VSP_J00394091 UInt uiLeftBottomPartIdx = 0;4092 TComDataCU* pcCULeftBottom = getPUBelowLeft( uiLeftBottomPartIdx, uiPartIdxLB );4093 #endif4094 3935 4095 3936 if (getAvailableFlagA0()) … … 4098 3939 #if H_3D_VSP 4099 3940 , 4100 #if SEC_A1_BASED_VSP_J00394101 3941 false 4102 #else4103 (pcCULeftBottom->getVSPFlag(uiLeftBottomPartIdx) != 04104 #if H_3D_IC4105 && !bICFlag4106 #endif4107 #if H_3D_ARP4108 && !bARPFlag4109 #endif4110 #if H_3D_DBBP4111 && !bDBBPFlag4112 #endif4113 )4114 #endif4115 3942 #endif 4116 3943 , false … … 4120 3947 4121 3948 // above left 4122 #if !SEC_A1_BASED_VSP_J00394123 UInt uiAboveLeftPartIdx = 0;4124 TComDataCU* pcCUAboveLeft = 0;4125 pcCUAboveLeft = getPUAboveLeft( uiAboveLeftPartIdx, uiAbsPartAddr );4126 #endif4127 3949 4128 3950 if (getAvailableFlagB2()) … … 4131 3953 #if H_3D_VSP 4132 3954 , 4133 #if SEC_A1_BASED_VSP_J00394134 3955 false 4135 #else4136 ( ( ( getAddr() - pcCUAboveLeft->getAddr() ) == 0) && (pcCUAboveLeft->getVSPFlag(uiAboveLeftPartIdx) != 0)4137 #if H_3D_IC4138 && !bICFlag4139 #endif4140 #if H_3D_ARP4141 && !bARPFlag4142 #endif4143 #if H_3D_DBBP4144 && !bDBBPFlag4145 #endif4146 )4147 #endif4148 3956 #endif 4149 3957 , false … … 4343 4151 } 4344 4152 } 4345 #if !LGE_DDD_REMOVAL_J0042_J00304346 #if H_3D_DDD4347 if( m_pcSlice->getIsDepth() && m_pcSlice->getViewIndex() != 0 && bMPIFlag )4348 {4349 UInt uiPartIdx;4350 TComDataCU *pcTextureCU = m_pcSlice->getTexturePic()->getCU( getAddr() );4351 TComSlice *pcTextureSlice = pcTextureCU->getSlice();4352 4353 4354 tmpMV[0].setMvField( cZeroMv, NOT_VALID );4355 tmpMV[1].setMvField( cZeroMv, NOT_VALID );4356 tmpDir = 0;4357 4358 xDeriveCenterIdx( uiPUIdx, uiPartIdx);4359 4360 if ( pcTextureCU && !pcTextureCU->isIntra( uiPartIdx ) )4361 {4362 4363 TComMvField cMVField;4364 Int iDV = 0;4365 Int iViewIdx = 0;4366 pcTextureCU->getMvField( pcTextureCU, uiPartIdx, REF_PIC_LIST_0, cMVField );4367 if( cMVField.getRefIdx() >= 0 )4368 {4369 if( pcTextureSlice->getRefPOC( REF_PIC_LIST_0, cMVField.getRefIdx()) == pcTextureSlice->getPOC() )4370 {4371 iViewIdx = pcTextureSlice->getRefPic( REF_PIC_LIST_0, cMVField.getRefIdx())->getViewIndex();4372 iDV = cMVField.getHor();4373 4374 4375 Int iValidDepRef = getPic()->isTextRefValid( REF_PIC_LIST_0, cMVField.getRefIdx() );4376 4377 if( iValidDepRef >= 0 )4378 {4379 const TComMv cAdd( 2, 2 );4380 cMVField.getMv() += cAdd;4381 cMVField.getMv() >>= 2;4382 #if !(NTT_BUG_FIX_TK54)4383 clipMv( cMVField.getMv() );4384 #endif4385 tmpMV[ 0 ].setMvField( cMVField.getMv(), iValidDepRef );4386 tmpDir = 1;4387 }4388 }4389 }4390 4391 pcTextureCU->getMvField( pcTextureCU, uiPartIdx, REF_PIC_LIST_1, cMVField );4392 4393 if( !tmpDir && cMVField.getRefIdx() >= 0 )4394 {4395 if( pcTextureSlice->getRefPOC( REF_PIC_LIST_1, cMVField.getRefIdx()) == pcTextureSlice->getPOC() )4396 {4397 iViewIdx = pcTextureSlice->getRefPic( REF_PIC_LIST_1, cMVField.getRefIdx())->getViewIndex();4398 iDV = cMVField.getHor();4399 4400 Int iValidDepRef = getPic()->isTextRefValid( REF_PIC_LIST_1, cMVField.getRefIdx() );4401 4402 if( iValidDepRef >= 0 )4403 {4404 const TComMv cAdd( 2, 2 );4405 cMVField.getMv() += cAdd;4406 cMVField.getMv() >>= 2;4407 #if !(NTT_BUG_FIX_TK54)4408 clipMv( cMVField.getMv() );4409 #endif4410 tmpMV[ 1 ].setMvField( cMVField.getMv(), iValidDepRef );4411 tmpDir = 2;4412 }4413 }4414 }4415 if( tmpDir != 0 )4416 {4417 m_ucDDTmpDepth = m_pcSlice->getDepthFromDV( iDV, iViewIdx );4418 m_iUseDDDCandIdx = iCount;4419 4420 m_mergCands[MRG_D].setCand( tmpMV, tmpDir, false, false);4421 if ( mrgCandIdx == iCount )4422 {4423 return;4424 }4425 iCount ++;4426 }4427 }4428 }4429 #endif4430 #endif4431 4153 ///////////////////////////////////////////////////////////////// 4432 4154 //////// DERIVE IvMC, IvMCShift,IvDCShift, IvDC Candidates ///// … … 4441 4163 Int ivCandDir [4] = {0, 0, 0, 0}; 4442 4164 4443 #if HHI_TOOL_PARAMETERS_I2_J01074444 4165 Bool ivMvPredFlag = getSlice()->getIvMvPredFlag(); 4445 #else4446 Bool ivMvPredFlag = getSlice()->getVPS()->getIvMvPredFlag( getSlice()->getLayerIdInVps() );4447 #endif4448 4166 4449 4167 ivMvPredFlag &= (nPSW + nPSH > 12); … … 4528 4246 4529 4247 #if H_3D 4530 #if SEC_A1_BASED_VSP_J00394531 4248 iCount += m_mergCands[MRG_A1].m_bAvailable + m_mergCands[MRG_B1].m_bAvailable; 4532 #else4533 iCount += m_mergCands[MRG_A1].m_bAvailable + m_mergCands[MRG_B1].m_bAvailable + m_mergCands[MRG_B0].m_bAvailable;4534 #endif4535 4249 #else 4536 4250 //left … … 4631 4345 #endif 4632 4346 4633 #if !LGE_DDD_REMOVAL_J0042_J0030 4634 #if H_3D_DDD 4635 // early termination 4636 if ( iCount >= getSlice()->getMaxNumMergeCand()) 4637 { 4638 return; 4639 } 4640 #endif 4641 #endif 4642 4643 #if SEC_A1_BASED_VSP_J0039 4347 4644 4348 #if H_3D_VSP 4645 4349 ///////////////////////////////////////////////// … … 4680 4384 iCount += m_mergCands[MRG_B0].m_bAvailable; 4681 4385 #endif 4682 #endif4683 4386 4684 4387 … … 4736 4439 #endif // H_3D_IV_MERGE 4737 4440 4738 #if !SEC_A1_BASED_VSP_J00394739 #if H_3D_VSP4740 /////////////////////////////////////////////////4741 //////// VIEW SYNTHESIS PREDICTION (VSP) ////////4742 /////////////////////////////////////////////////4743 if (iCount<getSlice()->getMaxNumMergeCand())4744 {4745 4746 if (4747 #if H_3D_IC4748 !bICFlag &&4749 #endif4750 #if H_3D_ARP4751 !bARPFlag &&4752 #endif4753 #if H_3D4754 (nPSW + nPSH > 12) &&4755 #endif4756 #if H_3D_DBBP4757 !bDBBPFlag &&4758 #endif4759 xAddVspCand( mrgCandIdx, &cDisInfo, iCount ) )4760 {4761 return;4762 }4763 4764 // early termination4765 if (iCount == getSlice()->getMaxNumMergeCand())4766 {4767 return;4768 }4769 #endif4770 #if H_3D4771 }4772 #endif4773 #endif4774 4441 4775 4442 #if H_3D … … 6016 5683 iScale = xGetDistScaleFactor( iCurrViewId, iCurrRefViewId, iColViewId, iColRefViewId ); 6017 5684 6018 #if HHI_TOOL_PARAMETERS_I2_J01076019 5685 if ( iScale != 4096 && m_pcSlice->getIvMvScalingFlag( ) ) 6020 #else6021 if ( iScale != 4096 && m_pcSlice->getVPS()->getIvMvScalingFlag(getSlice()->getLayerIdInVps()) )6022 #endif6023 5686 { 6024 5687 rcMv = cColMv.scaleMv( iScale ); … … 6203 5866 6204 5867 TComMv cMv; 6205 #if LGE_DEFAULT_DV_J00466206 5868 if ( getSlice()->getDefaultRefViewIdxAvailableFlag() ) 6207 5869 { 6208 5870 Int iViewIdx = getSlice()->getDefaultRefViewIdx(); 6209 5871 pDisp->m_aVIdxCan = iViewIdx; 6210 #if HHI_TOOL_PARAMETERS_I2_J01076211 5872 Int iDisp = getSlice()->getDepthToDisparityB( iViewIdx )[ (Int64) (1 << ( getSlice()->getSPS()->getBitDepthY() - 1 )) ]; 6212 #else6213 Int iDisp = getSlice()->getDepthToDisparityB( iViewIdx )[ 1 << ( getSlice()->getSPS()->getBitDepthY() - 1 ) ];6214 #endif6215 5873 6216 5874 cMv.setHor(iDisp); … … 6222 5880 } 6223 5881 return false; 6224 #else6225 #if MTK_I00936226 Int iDisp = getSlice()->getDepthToDisparityB( 0 )[ (Int64) (1 << ( getSlice()->getSPS()->getBitDepthY() - 1 )) ];6227 #else6228 Int iDisp = getSlice()->getDepthToDisparityB( 0 )[ 128 ];6229 #endif6230 cMv.setHor(iDisp);6231 cMv.setVer(0);6232 pDisp->m_acNBDV = cMv;6233 pDisp->m_aVIdxCan = 0;6234 6235 return true;6236 #endif6237 5882 } 6238 5883 #endif … … 6266 5911 } 6267 5912 break; 6268 #if !SINGLE_DEPTH_SIMP_J01156269 case 2: // Above6270 if(yP != 0)6271 {6272 *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP) ];6273 bDepAvail = true;6274 }6275 break;6276 case 3: // Left6277 if(xP != 0)6278 {6279 *pNeighDepth = pDepth[ (yP) * iDepStride + (xP-1) ];6280 bDepAvail = true;6281 }6282 break;6283 case 4: // Above_Left6284 if(xP != 0 && yP != 0)6285 {6286 *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP-1) ];6287 bDepAvail = true;6288 }6289 break;6290 #endif6291 5913 default: 6292 5914 break; … … 6327 5949 } 6328 5950 #if H_3D_NBDV_REF 6329 #if HHI_TOOL_PARAMETERS_I2_J01076330 5951 if( !m_pcSlice->getDepthRefinementFlag( ) ) 6331 #else6332 if( !m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() ) )6333 #endif6334 5952 { 6335 5953 bDepthRefine = false; … … 6492 6110 pDInfo->m_acNBDV = defaultDV; 6493 6111 6494 #if LGE_DEFAULT_DV_J00466495 6112 if (getSlice()->getDefaultRefViewIdxAvailableFlag()) 6496 6113 { … … 6520 6137 pDInfo->m_acDoNBDV = defaultDV; 6521 6138 #endif 6522 #if LGE_SIMP_DISP_AVAIL_J00416523 6139 return true; 6524 #endif 6525 } 6526 #else 6527 Int valid = 0; 6528 Int viewIndex = 0; 6529 for( UInt uiBId = 0; uiBId < getSlice()->getViewIndex() && valid==0; uiBId++ ) 6530 { 6531 UInt uiBaseId = uiBId; 6532 TComPic* pcBasePic = getSlice()->getIvPic( false, uiBaseId ); 6533 for( Int iRefListId = 0; ( iRefListId < (getSlice()->isInterB()? 2:1) ) && !getSlice()->isIntra() && valid==0; iRefListId++ ) 6534 { 6535 RefPicList eRefPicListTest = RefPicList( iRefListId ); 6536 Int iNumRefPics = getSlice()->getNumRefIdx( eRefPicListTest ) ; 6537 for( Int iRefIndex = 0; iRefIndex < iNumRefPics; iRefIndex++ ) 6538 { 6539 if(pcBasePic->getPOC() == getSlice()->getRefPic( eRefPicListTest, iRefIndex )->getPOC() 6540 && pcBasePic->getViewIndex() == getSlice()->getRefPic( eRefPicListTest, iRefIndex )->getViewIndex()) 6541 { 6542 valid=1; 6543 viewIndex = uiBaseId; 6544 break; 6545 } 6546 } 6547 } 6548 } 6549 if(valid) 6550 { 6551 pDInfo->m_aVIdxCan = viewIndex; 6552 #if H_3D_NBDV_REF 6553 TComPic* picDepth = NULL; 6554 #if H_3D_FCO_VSP_DONBDV_E0163 6555 picDepth = getSlice()->getIvPic(true, getSlice()->getViewIndex() ); 6556 if ( picDepth->getPicYuvRec() != NULL ) 6557 { 6558 defaultDV.setZero(); 6559 } 6560 else // Go back with virtual depth 6561 { 6562 picDepth = getSlice()->getIvPic( true, viewIndex ); 6563 } 6564 6565 assert(picDepth != NULL); 6566 #else 6567 picDepth = getSlice()->getIvPic( true, viewIndex ); 6568 #if !BUG_FIX_TK65 6569 assert(picDepth!=NULL); 6570 #endif 6571 #endif 6572 if (picDepth && bDepthRefine) 6573 { 6574 estimateDVFromDM(viewIndex, uiPartIdx, picDepth, uiPartAddr, &defaultDV ); // from base view 6575 } 6576 pDInfo->m_acDoNBDV = defaultDV; 6577 #endif 6578 #if LGE_SIMP_DISP_AVAIL_J0041 6579 return true; 6580 #endif 6581 } 6582 #endif 6140 } 6583 6141 return false; 6584 6142 } … … 6834 6392 Bool depthRefineFlag = false; 6835 6393 #if H_3D_NBDV_REF 6836 #if HHI_TOOL_PARAMETERS_I2_J01076837 6394 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( ); 6838 #else6839 depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() );6840 #endif6841 6395 #endif // H_3D_NBDV_REF 6842 6396 … … 6896 6450 Void TComDataCU::getSPPara(Int iPUWidth, Int iPUHeight, Int& iNumSP, Int& iNumSPInOneLine, Int& iSPWidth, Int& iSPHeight) 6897 6451 { 6898 #if HHI_TOOL_PARAMETERS_I2_J01076899 6452 Int iSubPUSize = ( getSlice()->getIsDepth() ? getSlice()->getMpiSubPbSize() : getSlice()->getSubPbSize() ); 6900 #else6901 Int iSubPUSize = 1<<getSlice()->getVPS()->getSubPULog2Size(getSlice()->getLayerId());6902 if( getSlice()->getIsDepth() )6903 {6904 iSubPUSize = 1<<getSlice()->getVPS()->getSubPUMPILog2Size(getSlice()->getLayerId());6905 }6906 #endif6907 6453 6908 6454 iNumSPInOneLine = iPUWidth/iSubPUSize; 6909 #if !HS_SP_SIMP_J00666910 iNumSPInOneLine = iNumSPInOneLine < 1 ? 1: iNumSPInOneLine;6911 #endif6912 6455 Int iNumSPInOneColumn = iPUHeight/iSubPUSize; 6913 #if !HS_SP_SIMP_J00666914 iNumSPInOneColumn = iNumSPInOneColumn < 1 ? 1: iNumSPInOneColumn;6915 #else6916 6456 iNumSPInOneLine = (iPUHeight % iSubPUSize != 0 || iPUWidth % iSubPUSize != 0 ) ? 1 : iNumSPInOneLine; 6917 6457 iNumSPInOneColumn = (iPUHeight % iSubPUSize != 0 || iPUWidth % iSubPUSize != 0 ) ? 1 : iNumSPInOneColumn; 6918 #endif6919 6458 iNumSP = iNumSPInOneLine * iNumSPInOneColumn; 6920 6459 … … 6990 6529 Bool depthRefineFlag = false; 6991 6530 #if H_3D_NBDV_REF 6992 #if HHI_TOOL_PARAMETERS_I2_J01076993 6531 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( ); 6994 #else6995 depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() );6996 #endif6997 6532 #endif // H_3D_NBDV_REF 6998 6533 -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComDataCU.h
r1124 r1131 227 227 DisInfo m_cDefaultDisInfo; ///< Default disparity information for initializing 228 228 #endif 229 #if !LGE_DDD_REMOVAL_J0042_J0030230 #if H_3D_DDD231 UChar* m_pucDisparityDerivedDepth;232 Bool* m_pbUseDDD;233 Int m_iUseDDDCandIdx;234 UChar m_ucDDTmpDepth;235 #endif236 #endif237 229 #if H_3D_IV_MERGE 238 230 TComMotionCand m_mergCands[MRG_IVSHIFT+1]; … … 743 735 UInt getCoefScanIdx(UInt uiAbsPartIdx, UInt uiWidth, Bool bIsLuma, Bool bIsIntra); 744 736 745 #if !LGE_DDD_REMOVAL_J0042_J0030746 #if H_3D_DDD747 UChar* getDDDepth () { return m_pucDisparityDerivedDepth; }748 UChar getDDDepth ( UInt uiIdx ) { return m_pucDisparityDerivedDepth[uiIdx]; }749 Void setDDDepth ( UInt uiIdx, UChar n ) { m_pucDisparityDerivedDepth[uiIdx] = n; }750 Void setDDDepthSubParts( UChar ucDDD, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );751 752 Bool* getUseDDD () { return m_pbUseDDD; }753 Bool getUseDDD ( UInt uiIdx ) { return m_pbUseDDD[uiIdx]; }754 Void setUseDDD ( UInt uiIdx, Bool n ) { m_pbUseDDD[uiIdx] = n; }755 Void setUseDDD( Bool bUseDDD, UInt uiAbsPartIdx, UInt uiDepth );756 757 Void setUseDDD ( Bool bUseDDD, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );758 759 UChar getDDTmpDepth(){ return m_ucDDTmpDepth; }760 Int getUseDDDCandIdx(){ return m_iUseDDDCandIdx;}761 762 #endif763 #endif764 737 765 738 #if H_3D_DIM -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComPrediction.cpp
r1124 r1131 1158 1158 pcCU->clipMv(cMv); 1159 1159 1160 #if !LGE_DDD_REMOVAL_J0042_J00301161 #if H_3D_DDD1162 if( pcCU->getUseDDD( uiPartAddr ) )1163 {1164 assert( pcCU->getSPIVMPFlag( uiPartAddr ) == 0 );1165 assert( pcCU->getSlice()->getViewIndex() != 0 );1166 1167 Int dstStride = rpcYuvPred->getStride();1168 Int dstStrideC = rpcYuvPred->getCStride();1169 Pel *dst = rpcYuvPred->getLumaAddr( uiPartAddr );1170 Pel *dstU = rpcYuvPred->getCbAddr( uiPartAddr );1171 Pel *dstV = rpcYuvPred->getCrAddr( uiPartAddr );1172 1173 Int iWidthC = iWidth >> 1;1174 Int iHeightC = iHeight >> 1;1175 Int DefaultC = 1 << ( g_bitDepthY - 1);1176 for ( Int i = 0; i < iHeight; i++)1177 {1178 for ( Int j = 0; j < iWidth ; j++)1179 {1180 dst[j] = pcCU->getDDDepth( uiPartAddr );1181 }1182 dst += dstStride;1183 }1184 for ( Int i = 0; i < iHeightC; i++)1185 {1186 for ( Int j = 0; j < iWidthC; j++)1187 {1188 dstU[j] = dstV[j] = DefaultC;1189 }1190 dstU += dstStrideC;1191 dstV += dstStrideC;1192 }1193 1194 //return;1195 } else1196 #endif1197 #endif1198 1160 #if H_3D_ARP 1199 1161 if(pcCU->getARPW( uiPartAddr ) > 0 && pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPOC()== pcCU->getSlice()->getPOC()) … … 2190 2152 x += pRef[j]; 2191 2153 y += pRec[j]; 2192 #if LGE_CHROMA_IC_J0050_J00342193 2154 if ( eType == TEXT_LUMA ) 2194 2155 { 2195 #endif2196 2156 xx += (pRef[j] * pRef[j])>>precShift; 2197 2157 xy += (pRef[j] * pRec[j])>>precShift; 2198 #if LGE_CHROMA_IC_J0050_J0034 2199 } 2200 #endif 2158 } 2201 2159 } 2202 2160 iCountShift += g_aucConvertToBit[ uiWidth ] + 1; … … 2227 2185 x += pRef[0]; 2228 2186 y += pRec[0]; 2229 #if LGE_CHROMA_IC_J0050_J00342230 2187 if ( eType == TEXT_LUMA ) 2231 2188 { 2232 #endif2233 2189 xx += (pRef[0] * pRef[0])>>precShift; 2234 2190 xy += (pRef[0] * pRec[0])>>precShift; 2235 #if LGE_CHROMA_IC_J0050_J0034 2236 } 2237 #endif 2191 } 2238 2192 pRef += iRefStride*2; 2239 2193 pRec += iRecStride*2; … … 2249 2203 } 2250 2204 2251 #if LGE_CHROMA_IC_J0050_J00342252 2205 if ( eType != TEXT_LUMA ) 2253 2206 { … … 2257 2210 else 2258 2211 { 2259 #endif2260 2212 xy += xx >> IC_REG_COST_SHIFT; 2261 2213 xx += xx >> IC_REG_COST_SHIFT; … … 2299 2251 } 2300 2252 } 2301 #if LGE_CHROMA_IC_J0050_J0034 2302 } 2303 #endif 2253 } 2304 2254 } 2305 2255 #endif -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComRom.cpp
r1124 r1131 362 362 const UChar g_dmm1TabIdxBits[6] = 363 363 { //2x2 4x4 8x8 16x16 32x32 64x64 364 #if MTK_DMM_SIM_J0035365 364 0, 7, 10, 9, 9, 13 }; 366 #else367 0, 7, 10, 11, 11, 13 };368 #endif369 365 370 366 const UChar g_dmm3IntraTabIdxBits[6] = … … 767 763 } 768 764 769 #if MTK_DMM_SIM_J0035770 765 for( Int iK = 0; iK < uiBlockSize; iK += (uiWidth>=16 ?2:1)) 771 766 { … … 776 771 } 777 772 } 778 #else779 for( Int iK = 0; iK < uiBlockSize; iK++ )780 {781 for( Int iL = 0; iL < uiBlockSize; iL++ )782 {783 cTempWedgelet.setWedgelet( uhStartX + (iK*iStepStartX) , uhStartY + (iK*iStepStartY), uhEndX + (iL*iStepEndX), uhEndY + (iL*iStepEndY), (UChar)uiOri, eWedgeRes, ((iL%2)==0 && (iK%2)==0) );784 addWedgeletToList( cTempWedgelet, racWedgeList, racWedgeRefList );785 }786 }787 #endif788 773 } 789 774 -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComSlice.cpp
r1124 r1131 179 179 } 180 180 #endif 181 #if LGE_DEFAULT_DV_J0046182 181 m_iDefaultRefViewIdx = -1; 183 182 m_bDefaultRefViewIdxAvailableFlag = false; 184 #endif185 183 } 186 184 … … 1879 1877 m_vpsBaseLayerAvailableFlag = true; 1880 1878 1881 #if H_MV_FIX_NUM_VIEWS1882 1879 m_numViews = 0; 1883 #endif1884 1880 1885 1881 #endif … … 1918 1914 m_repFormatIdxPresentFlag = false; 1919 1915 m_maxOneActiveRefLayerFlag = false; 1920 #if H_MV_HLS_FIX1921 1916 m_vpsPocLsbAlignedFlag = false; 1922 #endif1923 1917 m_directDepTypeLenMinus2 = 0; 1924 1918 … … 1956 1950 m_layerIdInNuh [i] = ( i == 0 ) ? 0 : -1; 1957 1951 m_numDirectRefLayers[i] = 0; 1958 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071959 1952 #if H_3D 1960 1953 m_numRefListLayers[i] = 0; 1961 #endif1962 1954 #endif 1963 1955 m_vpsRepFormatIdx [i] = 0; … … 1968 1960 #if H_3D 1969 1961 m_viewIndex [i] = -1; 1970 #if !HHI_TOOL_PARAMETERS_I2_J01071971 m_vpsDepthModesFlag [i] = false;1972 m_ivMvScalingFlag[i] = true;1973 m_bIVPFlag [i] = false;1974 #if MTK_SINGLE_DEPTH_VPS_FLAG_J00601975 m_singleDepthModeFlag[ i ] = false;1976 #endif1977 #endif1978 1962 #endif 1979 1963 … … 1984 1968 m_dependencyFlag [i][j] = false; 1985 1969 m_idDirectRefLayer[i][j] = -1; 1986 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071987 1970 #if H_3D 1988 1971 m_idRefListLayer[i][j] = -1; 1989 #endif1990 1972 #endif 1991 1973 m_idPredictedLayer[i][j] = -1; … … 1999 1981 } 2000 1982 #if H_3D_ARP 2001 #if !HHI_TOOL_PARAMETERS_I2_J01072002 m_uiUseAdvResPred[i] = 0;2003 m_uiARPStepNum[i] = 1;2004 #endif2005 1983 #endif 2006 1984 } … … 2008 1986 m_dpbSize = new TComDpbSize; 2009 1987 2010 #if !HHI_TOOL_PARAMETERS_I2_J01072011 #if H_3D2012 for( Int i = 0; i < MAX_NUM_LAYERS; i++ )2013 {2014 #if H_3D_IV_MERGE2015 m_ivMvPredFlag [ i ] = false;2016 #if H_3D_SPIVMP2017 m_iSubPULog2Size [ i ] = 0;2018 #endif2019 #endif2020 #if H_3D_QTLPC2021 m_bLimQtPredFlag [ i ] = false;2022 #endif2023 #if H_3D_VSP2024 m_viewSynthesisPredFlag[ i ] = false;2025 #endif2026 #if H_3D_NBDV_REF2027 m_depthRefinementFlag [ i ] = false;2028 #endif2029 #if H_3D_INTER_SDC2030 m_bInterSDCFlag [ i ] = false;2031 #endif2032 #if H_3D2033 m_bIVPFlag [ i ] = false;2034 #endif2035 #if H_3D_DBBP2036 m_dbbpFlag [ i ] = false;2037 #endif2038 #if H_3D_IV_MERGE2039 m_bMPIFlag [ i ] = false;2040 #endif2041 }2042 #endif2043 #endif2044 1988 2045 1989 #endif … … 2132 2076 Int iNuhLId = getLayerIdInNuh( i ); 2133 2077 Int d = 0; 2134 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072135 2078 #if H_3D 2136 2079 Int l = 0; 2137 2080 #endif 2138 #endif2139 2081 Int r = 0; 2140 2082 Int p = 0; … … 2147 2089 m_idDirectRefLayer[iNuhLId][d++] = jNuhLid; 2148 2090 } 2149 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072150 2091 #if H_3D 2151 2092 if( getDirectDependencyFlag( i , j ) && ( getDepthId( iNuhLId ) == getDepthId( jNuhLid ) )) … … 2154 2095 } 2155 2096 #endif 2156 #endif2157 2097 2158 2098 if( getDependencyFlag( i , j ) ) … … 2166 2106 } 2167 2107 m_numDirectRefLayers[ iNuhLId ] = d; 2168 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072169 2108 #if H_3D 2170 2109 m_numRefListLayers[ iNuhLId ] = l; 2171 #endif2172 2110 #endif 2173 2111 … … 2206 2144 2207 2145 2208 #if H_MV_FIX_NUM_VIEWS2209 2146 Void TComVPS::initNumViews( ) 2210 2147 { … … 2242 2179 } 2243 2180 } 2244 #endif2245 2181 2246 2182 … … 2403 2339 } 2404 2340 2405 #if !H_MV_FIX_NUM_VIEWS2406 Int TComVPS::getNumViews()2407 {2408 Int numViews = 1;2409 for( Int i = 0; i <= getMaxLayersMinus1(); i++ )2410 {2411 Int lId = getLayerIdInNuh( i );2412 if ( i > 0 && ( getViewIndex( lId ) != getScalabilityId( i - 1, VIEW_ORDER_INDEX ) ) )2413 {2414 numViews++;2415 }2416 }2417 return numViews;2418 }2419 #endif2420 2341 2421 2342 … … 2656 2577 xPrintArray( "IdRefLayer" , getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numRefLayers, m_idRefLayer, true ); 2657 2578 xPrintArray( "IdDirectRefLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numDirectRefLayers, m_idDirectRefLayer, true ); 2658 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072659 2579 #if H_3D 2660 2580 xPrintArray( "IdRefListLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numRefListLayers, m_idRefListLayer, true ); 2661 #endif2662 2581 #endif 2663 2582 … … 3084 3003 i++; 3085 3004 } 3086 #if SHARP_DLT_SIMP_J00293087 3005 iIdxUp = bFound ? iIdxDown + 1 : iNumDepthValues-1; 3088 #else3089 // iterate over indices to find upper closest depth3090 i = iNumDepthValues-2;3091 bFound = false;3092 while(!bFound && i>=0)3093 {3094 if( m_iIdx2DepthValue[layerIdInVps][i] < p )3095 {3096 iIdxUp = i+1;3097 bFound = true;3098 }3099 3100 i--;3101 }3102 3103 // assert monotony3104 assert(iIdxDown<=iIdxUp);3105 #endif3106 3006 3107 3007 // assign closer depth value/idx … … 3684 3584 { 3685 3585 TComVPS* vps = getVPS(); 3686 #if HHI_DEPENDENCY_SIGNALLING_I1_J01073687 3586 #if H_3D 3688 3587 Int refLayerIdx = vps->getLayerIdInVps( vps->getIdRefListLayer( getLayerId(), i ) ); … … 3690 3589 Int refLayerIdx = vps->getLayerIdInVps( vps->getIdDirectRefLayer( getLayerId(), i ) ); 3691 3590 #endif 3692 #else 3693 Int refLayerIdx = vps->getLayerIdInVps( vps->getIdDirectRefLayer( getLayerId(), i ) ); 3694 #endif 3695 3696 #if H_MV_FIX_REF_LAYER_PIC_FLAG 3591 3697 3592 Bool refLayerPicFlag = ( vps->getSubLayersVpsMaxMinus1( refLayerIdx ) >= getTLayer() && ( getTLayer() == 0 || 3698 3593 vps->getMaxTidIlRefPicsPlus1( refLayerIdx, vps->getLayerIdInVps( getLayerId() )) > getTLayer() )); 3699 #else3700 Bool refLayerPicFlag = ( vps->getSubLayersVpsMaxMinus1( refLayerIdx ) >= getTLayer() ) && ( getTLayer() == 0 ) &&3701 ( vps->getMaxTidIlRefPicsPlus1( refLayerIdx, vps->getLayerIdInVps( getLayerId() )) > getTLayer() );3702 #endif3703 3594 return refLayerPicFlag; 3704 3595 } … … 3708 3599 Int refLayerPicIdc = -1; 3709 3600 Int curj = 0; 3710 #if HHI_DEPENDENCY_SIGNALLING_I1_J01073711 3601 #if H_3D 3712 3602 for( Int i = 0; i < getVPS()->getNumRefListLayers( getLayerId()) ; i++ ) … … 3714 3604 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ ) 3715 3605 #endif 3716 #else3717 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ )3718 #endif3719 3606 { 3720 3607 if( getRefLayerPicFlag( i ) ) … … 3737 3624 { 3738 3625 Int numRefLayerPics = 0; 3739 #if HHI_DEPENDENCY_SIGNALLING_I1_J01073740 3626 #if H_3D 3741 3627 for( Int i = 0; i < getVPS()->getNumRefListLayers( getLayerId()) ; i++ ) … … 3743 3629 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ ) 3744 3630 #endif 3745 #else3746 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ )3747 #endif3748 3631 { 3749 3632 numRefLayerPics += getRefLayerPicFlag( i ); … … 3770 3653 numActiveRefLayerPics = 0; 3771 3654 } 3772 #if HHI_DEPENDENCY_SIGNALLING_I1_J01073773 3655 #if H_3D 3774 3656 else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumRefListLayers( getLayerId() ) == 1 ) … … 3776 3658 else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 ) 3777 3659 #endif 3778 #else3779 else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 )3780 #endif3781 3660 { 3782 3661 numActiveRefLayerPics = 1; … … 3791 3670 Int TComSlice::getRefPicLayerId( Int i ) 3792 3671 { 3793 #if HHI_DEPENDENCY_SIGNALLING_I1_J01073794 3672 #if H_3D 3795 3673 return getVPS()->getIdRefListLayer( getLayerId(), getInterLayerPredLayerIdc( i ) ); … … 3797 3675 return getVPS()->getIdDirectRefLayer( getLayerId(), getInterLayerPredLayerIdc( i ) ); 3798 3676 #endif 3799 #else 3800 return getVPS()->getIdDirectRefLayer( getLayerId(), getInterLayerPredLayerIdc( i ) ); 3801 #endif 3802 } 3803 3804 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 3677 } 3678 #if H_3D 3805 3679 Void TComSlice::setDefaultRefView( ) 3806 3680 { … … 3839 3713 { 3840 3714 Bool tempRefPicInListsFlag = false; 3841 #if HHI_TOOL_PARAMETERS_I2_J01073842 3715 if( !getIvResPredFlag() || this->isIRAP()) 3843 #else3844 if(!getVPS()->getUseAdvRP(getLayerId()) || this->isIRAP())3845 #endif3846 3716 { 3847 3717 m_nARPStepNum = 0; … … 3871 3741 } 3872 3742 } 3873 #if SEC_ARP_VIEW_REF_CHECK_J00373874 3743 tempRefPicInListsFlag = (getFirstTRefIdx(REF_PIC_LIST_0) >= 0 || getFirstTRefIdx(REF_PIC_LIST_1) >= 0) && getDefaultRefViewIdxAvailableFlag(); 3875 #else3876 tempRefPicInListsFlag = getFirstTRefIdx(REF_PIC_LIST_0) >= 0 || getFirstTRefIdx(REF_PIC_LIST_1) >= 0;3877 #endif3878 #if HHI_TOOL_PARAMETERS_I2_J01073879 3744 m_nARPStepNum = tempRefPicInListsFlag ? H_3D_ARP_WFNR : 0; 3880 #else3881 m_nARPStepNum = tempRefPicInListsFlag ? getVPS()->getARPStepNum(getLayerId()) : 0;3882 #endif3883 3745 } 3884 3746 … … 4063 3925 Bool setupLUT = false; 4064 3926 4065 #if HHI_TOOL_PARAMETERS_I2_J01074066 3927 setupLUT = setupLUT || getViewSynthesisPredFlag( ); 4067 #else4068 Int layerIdInVPS = getVPS()->getLayerIdInNuh( m_layerId );4069 #if H_3D_VSP4070 setupLUT = setupLUT || getVPS()->getViewSynthesisPredFlag( layerIdInVPS);4071 #endif4072 #endif4073 3928 4074 3929 #if H_3D_NBDV_REF 4075 #if HHI_TOOL_PARAMETERS_I2_J01074076 3930 setupLUT = setupLUT || getDepthRefinementFlag( ); 4077 #else4078 setupLUT = setupLUT || getVPS()->getDepthRefinementFlag( layerIdInVPS );4079 #endif4080 3931 #endif 4081 3932 4082 3933 #if H_3D_IV_MERGE 4083 #if HHI_TOOL_PARAMETERS_I2_J01074084 3934 setupLUT = setupLUT || ( getIvMvPredFlag() && getIsDepth() ); 4085 #else 4086 setupLUT = setupLUT || ( getVPS()->getIvMvPredFlag(layerIdInVPS ) && getIsDepth() ); 4087 #endif 4088 #endif 4089 4090 #if !LGE_DDD_REMOVAL_J0042_J0030 4091 #if H_3D_DDD 4092 #if H_3D_FCO 4093 if( getIsDepth() && getViewIndex() > 0 && getVPS()->getMPIFlag(layerIdInVPS)) 4094 #else 4095 if( getIsDepth() && getViewIndex() > 0 ) 4096 #endif 4097 { 4098 TComSlice *pcTextSlice = getTexturePic()->getSlice( 0 ); 4099 memcpy( m_aiDDDInvScale, pcTextSlice->m_aiDDDInvScale, sizeof( Int ) * getViewIndex() ); 4100 memcpy( m_aiDDDInvOffset, pcTextSlice->m_aiDDDInvOffset, sizeof( Int ) * getViewIndex() ); 4101 memcpy( m_aiDDDShift, pcTextSlice->m_aiDDDShift, sizeof( Int ) * getViewIndex() ); 4102 } 4103 #endif 4104 #endif 3935 #endif 3936 4105 3937 4106 3938 if( !setupLUT ) … … 4151 3983 m_depthToDisparityF[ i ][ d ] = ( invCodScale[ i ] * d + invOffset ) >> log2Div; 4152 3984 } 4153 #if !LGE_DDD_REMOVAL_J0042_J0030 4154 #if H_3D_DDD 4155 initializeDDDPara( vps->getCamParPrecision(), codScale[ i ], codOffset[ i ], i ); 4156 #endif 4157 #endif 4158 } 4159 } 4160 #endif 4161 #endif 4162 4163 #if !LGE_DDD_REMOVAL_J0042_J0030 4164 #if H_3D_DDD 4165 Void TComSlice::initializeDDDPara( UInt uiCamParsCodedPrecision, Int iCodedScale,Int iCodedOffset, Int iBaseViewIdx ) 4166 { 4167 UInt uiViewId = getViewIndex(); 4168 4169 if( uiViewId == 0 ) 4170 { 4171 m_aiDDDInvScale[ iBaseViewIdx ] = m_aiDDDInvOffset[ iBaseViewIdx ] = m_aiDDDShift[ iBaseViewIdx ] = 0; 4172 return; 4173 } 4174 4175 4176 Int iSign = iCodedScale >= 0 ? 1 : -1; 4177 iCodedScale = abs( iCodedScale ); 4178 4179 Int iBitWidth = 0; 4180 4181 const Int iInvPres = 9; 4182 4183 while( ((( 1 << iBitWidth ) << 1 ) <= iCodedScale ) ) 4184 { 4185 iBitWidth ++; 4186 } 4187 iBitWidth += iInvPres; 4188 Int iTargetValue = 1 << iBitWidth; 4189 4190 Int iMinError = MAX_INT; 4191 Int iBestD = 1 << ( iInvPres - 1 ); 4192 for( Int d = 1 << ( iInvPres - 1 ); d < ( 1 << iInvPres ); d++ ) 4193 { 4194 Int iError = abs( iCodedScale * d - iTargetValue ); 4195 if( iError < iMinError ) 4196 { 4197 iMinError = iError; 4198 iBestD = d; 4199 } 4200 if( iMinError == 0 ) 4201 { 4202 break; 4203 } 4204 } 4205 Int iRoundingDir = 0; 4206 if( iCodedScale * iBestD > iTargetValue ) 4207 { 4208 iRoundingDir = -1; 4209 } 4210 else if( iCodedScale * iBestD < iTargetValue ) 4211 { 4212 iRoundingDir = 1; 4213 } 4214 Int iCamPres = uiCamParsCodedPrecision - 1; 4215 m_aiDDDInvScale [ iBaseViewIdx ] = ( iBestD << ( iCamPres + g_bitDepthY )) * iSign; 4216 m_aiDDDInvOffset[ iBaseViewIdx ] = -iSign * iBestD * ( iCodedOffset << g_bitDepthY ); 4217 m_aiDDDShift [ iBaseViewIdx ] = iBitWidth; 4218 m_aiDDDInvOffset[ iBaseViewIdx ] += 1 << ( m_aiDDDShift[ iBaseViewIdx ] - 1 ); 4219 m_aiDDDInvOffset[ iBaseViewIdx ] += ( 1 << ( m_aiDDDShift[ iBaseViewIdx ] - 4 ) ) * iRoundingDir; 4220 4221 return; 4222 } 4223 4224 4225 #endif 4226 #endif 3985 } 3986 } 3987 #endif 3988 #endif 3989 4227 3990 4228 3991 #if H_MV … … 4258 4021 #endif 4259 4022 4260 #if !LGE_DDD_REMOVAL_J0042_J0030 4261 #if H_3D_DBBP 4262 Int TComSlice::getDepthFromDV( Int iDV, Int iBaseViewIdx ) 4263 { 4264 return ClipY(( iDV * m_aiDDDInvScale[ iBaseViewIdx ] + m_aiDDDInvOffset[ iBaseViewIdx ] ) >> m_aiDDDShift[ iBaseViewIdx ]); 4265 } 4266 #endif 4267 #endif 4268 4269 #if HHI_TOOL_PARAMETERS_I2_J0107 4023 4270 4024 #if H_3D 4271 4025 … … 4364 4118 } 4365 4119 #endif 4366 #endif4367 4120 4368 4121 -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComSlice.h
r1124 r1131 861 861 TComRepFormat* m_repFormat [MAX_NUM_LAYERS]; 862 862 Bool m_maxOneActiveRefLayerFlag; 863 #if H_MV_HLS7_GEN || H_MV_HLS_FIX864 863 Bool m_vpsPocLsbAlignedFlag; 865 #endif866 864 Bool m_pocLsbNotPresentFlag [MAX_NUM_LAYERS]; 867 865 … … 884 882 Int m_dependencyFlag [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 885 883 886 #if H_MV_FIX_NUM_VIEWS887 884 Int m_numViews; 888 #endif889 885 Int m_numDirectRefLayers [MAX_NUM_LAYERS]; 890 886 Int m_idDirectRefLayer [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 891 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107892 887 #if H_3D 893 888 Int m_numRefListLayers [MAX_NUM_LAYERS]; 894 889 Int m_idRefListLayer [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 895 #endif896 890 #endif 897 891 … … 919 913 Void xSetRefLayerFlags( Int currLayerId ); 920 914 // VPS EXTENSION 2 SYNTAX ELEMENTS 921 #if !HHI_TOOL_PARAMETERS_I2_J0107922 #if H_3D_ARP923 UInt m_uiUseAdvResPred [MAX_NUM_LAYERS ];924 UInt m_uiARPStepNum [MAX_NUM_LAYERS ];925 #endif926 #if H_3D_IV_MERGE927 Bool m_ivMvPredFlag [ MAX_NUM_LAYERS ];928 Bool m_ivMvScalingFlag [ MAX_NUM_LAYERS ];929 #if H_3D_SPIVMP930 Int m_iSubPULog2Size [MAX_NUM_LAYERS ];931 Int m_iSubPUMPILog2Size [MAX_NUM_LAYERS ];932 #endif933 #endif934 #if H_3D_QTLPC935 Bool m_bLimQtPredFlag [ MAX_NUM_LAYERS ];936 #endif937 #if H_3D_VSP938 Bool m_viewSynthesisPredFlag [ MAX_NUM_LAYERS ];939 #endif940 #if H_3D_NBDV_REF941 Bool m_depthRefinementFlag [ MAX_NUM_LAYERS ];942 #endif943 Bool m_vpsDepthModesFlag [MAX_NUM_LAYERS ];944 #if H_3D945 Bool m_bIVPFlag [MAX_NUM_LAYERS ];946 #endif947 #endif948 915 #if H_3D 949 916 UInt m_uiCamParPrecision; … … 953 920 Int ***m_aaaiCodedOffset; 954 921 955 #if H_MV_FIX_NUM_VIEWS956 922 #if HHI_VIEW_ID_LIST_I5_J0107 957 923 std::vector<Int> m_viewOIdxList; 958 924 #endif 959 #endif 960 961 #endif 962 #if !HHI_TOOL_PARAMETERS_I2_J0107 963 #if H_3D_INTER_SDC 964 Bool m_bInterSDCFlag[MAX_NUM_LAYERS ]; 965 #endif 966 #if H_3D_DBBP 967 Bool m_dbbpFlag[MAX_NUM_LAYERS]; 968 #endif 969 #if H_3D_IV_MERGE 970 Bool m_bMPIFlag[MAX_NUM_LAYERS ]; 971 #endif 972 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 973 Bool m_singleDepthModeFlag [ MAX_NUM_LAYERS ]; 974 #endif 925 975 926 #endif 976 927 … … 1159 1110 Bool getMaxOneActiveRefLayerFlag( ) { return m_maxOneActiveRefLayerFlag; } 1160 1111 1161 #if H_MV_HLS7_GEN || H_MV_HLS_FIX1162 1112 Void setVpsPocLsbAlignedFlag( Bool flag ) { m_vpsPocLsbAlignedFlag = flag; } 1163 1113 Bool getVpsPocLsbAlignedFlag( ) { return m_vpsPocLsbAlignedFlag; } 1164 #endif1165 1114 1166 1115 Void setDpbSize( TComDpbSize* val ) { assert( m_dpbSize != 0 ); m_dpbSize = val; } … … 1196 1145 Void setRefLayers(); 1197 1146 1198 #if H_MV_FIX_NUM_VIEWS1199 1147 // To be aligned with spec naming, getViewIndex will be removed in future versions 1200 1148 Int getViewOrderIdx ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), VIEW_ORDER_INDEX ); } 1201 1149 Int getViewIndex ( Int layerIdInNuh ) { return getViewOrderIdx( layerIdInNuh ); } 1202 #else1203 Int getViewIndex ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), VIEW_ORDER_INDEX ); }1204 #endif1205 1150 Int getAuxId ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), AUX_ID ); } 1206 1151 Int getDependencyId ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), DEPENDENCY_ID ); } 1207 #if H_MV_FIX_NUM_VIEWS1208 1152 Int getNumViews() { return m_numViews; } 1209 1153 Void initNumViews(); … … 1211 1155 Int getViewOIdxList( Int i ) { return m_viewOIdxList[i]; } 1212 1156 #endif 1213 #else1214 Int getNumViews();1215 #endif1216 1157 1217 1158 Bool getDependencyFlag( Int i, Int j ) { return m_dependencyFlag[i][j]; } 1218 1159 Int getNumDirectRefLayers( Int layerIdInNuh ) { return m_numDirectRefLayers[ layerIdInNuh ]; }; 1219 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071220 1160 #if H_3D 1221 1161 Int getNumRefListLayers( Int layerIdInNuh ) { return m_numRefListLayers[ layerIdInNuh ]; }; 1222 #endif1223 1162 #endif 1224 1163 … … 1230 1169 Int getIdPredictedLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumPredictedLayers( i )); return m_idPredictedLayer[i][j]; } 1231 1170 Int getIdDirectRefLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumDirectRefLayers( i )); return m_idDirectRefLayer[i][j]; } 1232 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071233 1171 #if H_3D 1234 1172 Int getIdRefListLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumRefListLayers ( i )); return m_idRefListLayer[i][j]; } 1235 #endif1236 1173 #endif 1237 1174 Int getNumIndependentLayers ( ) { return m_numIndependentLayers; } … … 1333 1270 #if H_3D 1334 1271 Int getDepthId ( Int layerIdInNuh) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), DEPTH_ID ); } 1335 #if HHI_TOOL_PARAMETERS_I2_J01071336 1272 Bool getVpsDepthFlag( Int layerIdInNuh) { return (getDepthId( layerIdInNuh ) > 0); } 1337 #endif1338 1273 Int getLayerIdInNuh( Int viewIndex, Bool depthFlag ); 1339 1274 1340 #if !HHI_TOOL_PARAMETERS_I2_J01071341 #if H_3D_ARP1342 UInt getUseAdvRP ( Int layerIdInVps ) { return m_uiUseAdvResPred[layerIdInVps]; }1343 UInt getARPStepNum( Int layerIdInVps ) { return m_uiARPStepNum[layerIdInVps]; }1344 Void setUseAdvRP ( Int layerIdInVps, UInt val ) { m_uiUseAdvResPred[layerIdInVps] = val; }1345 Void setARPStepNum( Int layerIdInVps, UInt val ) { m_uiARPStepNum[layerIdInVps] = val; }1346 #endif1347 #endif1348 1275 1349 1276 Void createCamPars(Int iNumViews); … … 1360 1287 Int* getInvCodedOffset ( Int viewIndex ) { return m_aaaiCodedOffset[viewIndex][1]; } 1361 1288 1362 #if !HHI_TOOL_PARAMETERS_I2_J01071363 #if H_3D_IV_MERGE1364 Void setIvMvPredFlag ( Int layerIdInVps, Bool val ) { m_ivMvPredFlag[ layerIdInVps ] = val; }1365 Bool getIvMvPredFlag ( Int layerIdInVps ) { return m_ivMvPredFlag[ layerIdInVps ]; };1366 #if H_3D_SPIVMP1367 Int getSubPULog2Size(Int layerIdInVps) { return m_iSubPULog2Size[layerIdInVps]; }1368 Void setSubPULog2Size(Int layerIdInVps, Int u) { m_iSubPULog2Size[layerIdInVps] = u;}1369 Int getSubPUMPILog2Size(Int layerIdInVps) { return m_iSubPUMPILog2Size[layerIdInVps]; }1370 Void setSubPUMPILog2Size(Int layerIdInVps, Int u) { m_iSubPUMPILog2Size[layerIdInVps] = u;}1371 #endif1372 #endif1373 #if H_3D_QTLPC1374 Void setLimQtPredFlag ( Int layerIdInVps, Bool val ) { m_bLimQtPredFlag[ layerIdInVps ] = val; }1375 Bool getLimQtPredFlag ( Int layerIdInVps ) { return m_bLimQtPredFlag[layerIdInVps];}1376 #endif1377 #if H_3D_VSP1378 Void setViewSynthesisPredFlag ( Int layerIdInVps, Bool val ) { m_viewSynthesisPredFlag[ layerIdInVps ] = val; }1379 Bool getViewSynthesisPredFlag ( Int layerIdInVps ) { return m_viewSynthesisPredFlag[ layerIdInVps ]; };1380 #endif1381 #if H_3D_NBDV_REF1382 Void setDepthRefinementFlag ( Int layerIdInVps, Bool val ) { m_depthRefinementFlag[ layerIdInVps ] = val; }1383 Bool getDepthRefinementFlag ( Int layerIdInVps ) { return m_depthRefinementFlag[ layerIdInVps ]; };1384 #endif1385 Void setVpsDepthModesFlag( Int layerIdInVps, Bool val ) { m_vpsDepthModesFlag[ layerIdInVps ] = val; }1386 Bool getVpsDepthModesFlag( Int layerIdInVps ) { return m_vpsDepthModesFlag[ layerIdInVps ]; }1387 1388 Void setIVPFlag( Int layerIdInVps, Bool val ) { m_bIVPFlag[ layerIdInVps ] = val; }1389 Bool getIVPFlag( Int layerIdInVps ) { return m_bIVPFlag[ layerIdInVps ]; }1390 1391 Bool getIvMvScalingFlag ( Int layerIdInVps ) { return m_ivMvScalingFlag[ layerIdInVps ]; }1392 Void setIvMvScalingFlag (Int layerIdInVps, Bool b ) { m_ivMvScalingFlag[ layerIdInVps ] = b; }1393 1394 #if H_3D_INTER_SDC1395 Bool getInterSDCFlag ( Int layerIdInVps ) { return m_bInterSDCFlag[layerIdInVps]; }1396 Void setInterSDCFlag ( Int layerIdInVps, Bool bval ){ m_bInterSDCFlag[layerIdInVps] = bval; }1397 #endif1398 #if H_3D_DBBP1399 Bool getUseDBBP ( Int layerIdInVps ) { return m_dbbpFlag[layerIdInVps]; }1400 Void setUseDBBP ( Int layerIdInVps, Bool bval ){ m_dbbpFlag[layerIdInVps] = bval; }1401 #endif1402 #if H_3D_IV_MERGE1403 Bool getMPIFlag ( Int layerIdInVps ) { return m_bMPIFlag[layerIdInVps]; }1404 Void setMPIFlag ( Int layerIdInVps, Bool bval ){ m_bMPIFlag[layerIdInVps] = bval; }1405 #endif1406 #if MTK_SINGLE_DEPTH_VPS_FLAG_J00601407 Void setSingleDepthModeFlag ( Int layerIdInVps, Bool val ) { m_singleDepthModeFlag[ layerIdInVps ] = val; }1408 Bool getSingleDepthModeFlag ( Int layerIdInVps ) { return m_singleDepthModeFlag[ layerIdInVps ]; };1409 #endif1410 #endif1411 1289 #endif 1412 1290 #endif … … 1675 1553 }; 1676 1554 1677 #if HHI_TOOL_PARAMETERS_I2_J01071678 1555 #if H_3D 1679 1556 class TComSps3dExtension … … 1762 1639 1763 1640 #endif 1764 #endif1765 1641 1766 1642 /// SPS class … … 1863 1739 #endif 1864 1740 #if H_3D 1865 #if HHI_TOOL_PARAMETERS_I2_J01071866 1741 TComSps3dExtension m_sps3dExtension; 1867 #endif1868 1742 UInt m_uiCamParPrecision; 1869 1743 Bool m_bCamParInSliceHeader; … … 2044 1918 Bool getInterViewMvVertConstraintFlag() { return m_interViewMvVertConstraintFlag;} 2045 1919 2046 #if HHI_TOOL_PARAMETERS_I2_J01072047 1920 #if H_3D 2048 1921 Void setSps3dExtension ( TComSps3dExtension& sps3dExtension ) { m_sps3dExtension = sps3dExtension; } 2049 1922 TComSps3dExtension* getSps3dExtension ( ) { return &m_sps3dExtension; } 2050 #endif2051 1923 #endif 2052 1924 … … 2505 2377 #endif 2506 2378 #endif 2507 #if !LGE_DDD_REMOVAL_J0042_J00302508 #if H_3D_DDD2509 Int m_aiDDDInvScale [MAX_NUM_LAYERS];2510 Int m_aiDDDInvOffset[MAX_NUM_LAYERS];2511 UInt m_aiDDDShift [MAX_NUM_LAYERS];2512 #endif2513 #endif2514 2379 #if H_3D_SINGLE_DEPTH 2515 2380 Bool m_bApplySingleDepthMode; … … 2519 2384 Int *m_aICEnableNum; 2520 2385 #endif 2521 #if LGE_DEFAULT_DV_J00462522 2386 Int m_iDefaultRefViewIdx; 2523 2387 Bool m_bDefaultRefViewIdxAvailableFlag; 2524 #endif 2525 2526 #if HHI_TOOL_PARAMETERS_I2_J0107 2388 2527 2389 Bool m_ivMvPredFlag ; 2528 2390 Bool m_ivMvScalingFlag ; … … 2540 2402 Int m_mpiSubPbSize ; 2541 2403 Int m_subPbSize ; 2542 #endif2543 2404 public: 2544 2405 TComSlice(); … … 2610 2471 #if H_3D 2611 2472 TComPic* getTexturePic () { return m_ivPicsCurrPoc[0][ m_viewIndex ]; } 2612 #endif2613 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J00602614 #if H_3D_SINGLE_DEPTH2615 Void setApplySingleDepthMode( Bool b ) { m_bApplySingleDepthMode = b; }2616 Bool getApplySingleDepthMode() { return m_bApplySingleDepthMode; }2617 #endif2618 2473 #endif 2619 2474 #if H_3D_IC … … 2853 2708 Int* getDepthToDisparityB( Int refViewIdx ) { return m_depthToDisparityB[ refViewIdx ]; }; 2854 2709 Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ refViewIdx ]; }; 2855 #if !HHI_TOOL_PARAMETERS_I2_J01072856 Bool getVpsDepthModesFlag () { return getVPS()->getVpsDepthModesFlag( getVPS()->getLayerIdInVps( m_layerId ) ); }2857 Bool getIVPFlag () { return getVPS()->getIVPFlag( getVPS()->getLayerIdInVps( m_layerId ) ); }2858 #endif2859 2710 #endif 2860 2711 #if H_3D_IC … … 2914 2765 Int getPocMsbVal( ) { return m_pocMsbVal; } 2915 2766 2916 #if H_MV_HLS_FIX2917 2767 Bool getCraOrBlaPicFlag() { return ( getCraPicFlag() || getBlaPicFlag() ); } 2918 2768 Bool getPocMsbValRequiredFlag() { return ( getCraOrBlaPicFlag() && ( getVPS()->getVpsPocLsbAlignedFlag() || getVPS()->getNumDirectRefLayers( getLayerIdInVps() ) == 0 ) ); } 2919 #else2920 Bool getPocMsbValRequiredFlag() { return m_pocMsbValRequiredFlag; }2921 Void setPocMsbValRequiredFlag(Bool x) { m_pocMsbValRequiredFlag = x; }2922 #endif2923 2769 2924 2770 … … 2938 2784 // Additional variables derived in slice header semantics 2939 2785 2940 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072941 2786 #if H_3D 2942 2787 Int getNumInterLayerRefPicsMinus1Len( ) { return gCeilLog2( getVPS()->getNumRefListLayers( getLayerId() )); } … … 2947 2792 #endif 2948 2793 2949 #else2950 Int getNumInterLayerRefPicsMinus1Len( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); }2951 Int getInterLayerPredLayerIdcLen ( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); }2952 #endif2953 2794 2954 2795 Int getRefLayerPicFlag( Int i ); … … 2967 2808 2968 2809 2969 #if HHI_TOOL_PARAMETERS_I2_J01072970 2810 #if H_3D 2971 2811 // 3D-HEVC tool parameters … … 2987 2827 Int getSubPbSize ( ) { return m_subPbSize ; }; 2988 2828 #endif 2989 #endif2990 2829 2991 2830 … … 2993 2832 Bool inferPocMsbValPresentFlag(); 2994 2833 #endif 2995 #if !LGE_DDD_REMOVAL_J0042_J0030 2996 #if H_3D_DDD 2997 Void initializeDDDPara( UInt uiCamParsCodedPrecision, Int iCodedScale,Int iCodedOffset, Int iBaseViewIdx ); 2998 Int getDepthFromDV( Int iDV, Int iBaseViewIdx ); 2999 #endif 3000 #endif 3001 #if LGE_DEFAULT_DV_J0046 2834 #if H_3D 3002 2835 Int getDefaultRefViewIdx() { return m_iDefaultRefViewIdx; } 3003 2836 Void setDefaultRefViewIdx(Int iViewIdx) { m_iDefaultRefViewIdx = iViewIdx; } … … 3005 2838 Bool getDefaultRefViewIdxAvailableFlag() { return m_bDefaultRefViewIdxAvailableFlag; } 3006 2839 Void setDefaultRefViewIdxAvailableFlag(Bool bViewIdx) { m_bDefaultRefViewIdxAvailableFlag = bViewIdx; } 3007 #endif3008 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J00373009 2840 Void setDefaultRefView( ); 3010 2841 #endif 3011 3012 2842 protected: 3013 2843 TComPic* xGetRefPic (TComList<TComPic*>& rcListPic, -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TypeDef.h
r1124 r1131 103 103 // MTK_NBDV_TN_FIX_E0172 fix the issue of DV derivation from the temporal neighboring blocks, issue 7 in JCT3V-E0172 104 104 // MTK_TEXTURE_MRGCAND_BUGFIX_E0182 Bug fix for TEXTURE MERGING CANDIDATE , JCT3V-E0182 105 #define LGE_SIMP_DISP_AVAIL_J0041 1// Use 2 status for disparity availability - DISP_AVAILABLE and DISP_NONE105 // LGE_SIMP_DISP_AVAIL_J0041 // Use 2 status for disparity availability - DISP_AVAILABLE and DISP_NONE 106 106 107 107 #define H_3D_ARP 1 // Advanced residual prediction (ARP), JCT3V-D0177 … … 129 129 // MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX 1 // Remove the global variables used in JCT3V-H0086 130 130 // SEC_IC_NEIGHBOR_CLIP_I0080 // Clipping of neighboring sample position, JCT3V-I0080 131 // LGE_CHROMA_IC_J0050_J0034 131 132 132 133 #if H_3D_NBDV … … 156 157 // NTT_STORE_SPDV_VSP_G0148 Storing Sub-PU based DV for VSP 157 158 // Restricted bi-prediction for VSP 158 #define SEC_A1_BASED_VSP_J0039 1 // Removal of redundant VSP in Merge list 159 // MTK_MRG_LIST_SIZE_CLEANUP_J0059 1 // Include VSP for deriving merge candidate list size, JCT3V-J0059 160 // SEC_A1_BASED_VSP_J0039 1 // Removal of redundant VSP in Merge list 161 159 162 160 163 … … 182 185 // SEC_SIMP_SHIFTED_DV_I0086 Simplification of Shifted DV candidate, JCT3V-I0086 183 186 184 #define MTK_MRG_LIST_SIZE_CLEANUP_J0059 1 // Include VSP for deriving merge candidate list size, JCT3V-J0059 187 185 188 186 189 … … 231 234 // SEPARATE_FLAG_I0085 232 235 // H_3D_DELTA_DLT 233 // RWTH_DLT_CLIP_I0057 1 234 235 236 // RWTH_DLT_CLIP_I0057 237 // MTK_DMM_SIM_J0035 238 // MTK_J0033 239 // SHARP_DLT_SIMP_J0029 1 // DLT(DepthValue2Idx[]) table derivation cleanup 236 240 237 241 #define H_3D_SINGLE_DEPTH 1 // Single depth mode proposed in JCT3V-I0095 238 #define MTK_SINGLE_DEPTH_VPS_FLAG_J0060 1 // Add VPS control flags and remove slice header control flag for single depth, JCT3V-J0060 239 #define ALIGN_J0060_J0107 1 // Alignment of changed tool parameters 240 #define ALGIN_J0107_J0059 1 // Alignment of changed tool parameters 241 242 #define MTK_J0033 1 243 #define SHARP_DLT_SIMP_J0029 1 // DLT(DepthValue2Idx[]) table derivation cleanup 242 // HS_SP_SIMP_J0066 243 // SINGLE_DEPTH_SIMP_J0115 1 244 // MTK_SINGLE_DEPTH_VPS_FLAG_J0060 1 // Add VPS control flags and remove slice header control flag for single depth, JCT3V-J0060 244 245 245 246 #define H_3D_INTER_SDC 1 // INTER SDC, Inter simplified depth coding … … 263 264 // SHARP_DBBP_SIMPLE_FLTER_I0109 1 // Simple condition and one dimensional filter for DBBP 264 265 // SEC_DBBP_DMM4_THRESHOLD_I0076 Simplification of threshold derivation for DBBP and DMM4, JCT3V-I0076 265 #defineSEC_DBBP_VIEW_REF_CHECK_J0037 1 // Signaling dbbp_flag when the current slice has view reference picture(s), JCT3V-J0037 item4266 // SEC_DBBP_VIEW_REF_CHECK_J0037 1 // Signaling dbbp_flag when the current slice has view reference picture(s), JCT3V-J0037 item4 266 267 267 268 #define H_3D_DDD 1 // Disparity derived depth coding 268 #define LGE_DDD_REMOVAL_J0042_J0030 1 //DDD removal269 // LGE_DDD_REMOVAL_J0042_J0030 DDD removal 269 270 270 271 #define H_3D_FCO 0 // Flexible coding order for 3D … … 283 284 #define H_3D_FAST_DEPTH_INTRA 1 // Fast DMM and RBC Mode Selection 284 285 // SCU_HS_FAST_DEPTH_INTRA_E0238_HHIFIX 285 #define MTK_DMM_SIM_J0035 1 286 #endif 286 #endif 287 288 //HLS 289 //HHI_DEPENDENCY_SIGNALLING_I1_J0107 290 //HHI_TOOL_PARAMETERS_I2_J0107 291 //HHI_VPS_3D_EXTENSION_I3_J0107 287 292 288 293 // Rate Control … … 302 307 303 308 #if H_3D 304 #define HHI_DEPENDENCY_SIGNALLING_I1_J0107 1305 #define HHI_TOOL_PARAMETERS_I2_J0107 1306 #define HHI_VPS_3D_EXTENSION_I3_J0107 1307 309 #define HHI_VIEW_ID_LIST_I5_J0107 0 308 310 #endif … … 314 316 #if H_3D_SINGLE_DEPTH 315 317 #define SINGLE_DEPTH_MODE_CAND_LIST_SIZE 2 // size of the sample candidate list 316 #define SINGLE_DEPTH_SIMP_J0115 1 318 317 319 #endif 318 320 … … 331 333 #define DVFROM_ABOVE 1 332 334 #define IDV_CANDS 2 333 #define LGE_DEFAULT_DV_J0046 1334 335 #endif 335 336 … … 367 368 #define IC_SHIFT_DIFF 12 368 369 #define IC_LOW_LATENCY_ENCODING_THRESHOLD 0.1 // Threshold for low-latency IC encoding in JCT3V-H0086 369 #define LGE_CHROMA_IC_J0050_J0034 1370 370 #endif 371 371 … … 389 389 #endif 390 390 391 392 #if H_3D_SPIVMP393 #define HS_SP_SIMP_J0066 1394 #endif395 391 396 392 ///////////////////////////////////////////////////////////////////////////////// … … 935 931 enum DefaultMergCandOrder 936 932 { 937 #if SEC_A1_BASED_VSP_J0039938 933 MRG_T = 0, ///< MPI 939 934 MRG_D, ///< DDD … … 948 943 MRG_IVSHIFT, ///< Shifted IVMC of Shifted IVDC. (These are mutually exclusive) 949 944 MRG_COL ///< Temporal co-located 950 #else951 MRG_T = 0, ///< MPI952 MRG_D, ///< DDD953 MRG_IVMC, ///< Temporal inter-view954 MRG_A1, ///< Left955 MRG_B1, ///< Above956 MRG_B0, ///< Above right957 MRG_IVDC, ///< Disparity inter-view958 MRG_VSP, ///< VSP959 MRG_A0, ///< Left bottom960 MRG_B2, ///< Above left961 MRG_IVSHIFT, ///< Shifted IVMC of Shifted IVDC. (These are mutually exclusive)962 MRG_COL ///< Temporal co-located963 #endif964 945 }; 965 946 #endif
Note: See TracChangeset for help on using the changeset viewer.