Changeset 486 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source
- Timestamp:
- 20 Jun 2013, 13:04:57 (12 years ago)
- Location:
- branches/HTM-DEV-0.3-dev2/source
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncCfg.cpp
r479 r486 718 718 #endif //HHI_VSO 719 719 #if H_3D_IV_MERGE 720 ("IvMvPred", m_ivMvPredFlag, false , "inter view motion prediction " ) 720 ("IvMvPred", m_ivMvPredFlag, false , "inter view motion prediction " ) 721 #endif 722 #if H_3D_NBDV_REF 723 ("DepthRefinement", m_depthRefinementFlag, false , "depth refinement by DoNBDV" ) 724 #endif 725 #if H_3D_VSP 726 ("ViewSynthesisPred", m_viewSynthesisPredFlag, false , "view synthesis prediction " ) 721 727 #endif 722 728 #endif //H_3D … … 2282 2288 #endif 2283 2289 #if H_3D_IV_MERGE 2284 printf("IvMvPred:%d", m_ivMvPredFlag ); 2290 printf("IvMvPred:%d ", m_ivMvPredFlag ); 2291 #endif 2292 #if H_3D_NBDV_REF 2293 printf("DepthRefinement:%d ", m_depthRefinementFlag ); 2294 #endif 2295 #if H_3D_VSP 2296 printf("ViewSynthesisPred:%d ", m_viewSynthesisPredFlag ); 2285 2297 #endif 2286 2298 printf("\n\n"); -
branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncCfg.h
r479 r486 88 88 #if H_3D_IV_MERGE 89 89 Bool m_ivMvPredFlag; ///< Interview motion vector prediction 90 #endif 91 #if H_3D_NBDV_REF 92 Bool m_depthRefinementFlag; 93 #endif 94 #if H_3D_VSP 95 Bool m_viewSynthesisPredFlag; 90 96 #endif 91 97 #endif -
branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncTop.cpp
r479 r486 1045 1045 { 1046 1046 #if H_3D_IV_MERGE 1047 vps.setIvMvPredFlag( layer, m_ivMvPredFlag ); 1047 vps.setIvMvPredFlag ( layer, m_ivMvPredFlag ); 1048 #endif 1049 #if H_3D_NBDV_REF 1050 vps.setDepthRefinementFlag( layer, m_depthRefinementFlag ); 1051 #endif 1052 #if H_3D_VSP 1053 vps.setViewSynthesisPredFlag( layer, m_viewSynthesisPredFlag ); 1048 1054 #endif 1049 1055 } -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp
r481 r486 2469 2469 2470 2470 cDisInfo.bDV = getDvInfo(uiAbsPartIdx).bDV; 2471 #if H_3D_NBDV_REF 2472 cDisInfo.m_acDoNBDV = getDvInfo(uiAbsPartIdx).m_acDoNBDV; 2473 #endif //H_3D_NBDV_REF 2471 2474 cDisInfo.m_acNBDV = getDvInfo(uiAbsPartIdx).m_acNBDV; 2472 2475 cDisInfo.m_aVIdxCan = getDvInfo(uiAbsPartIdx).m_aVIdxCan; … … 4182 4185 } 4183 4186 } 4187 #if H_3D_NBDV_REF 4188 if( !m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() ) ) 4189 { 4190 bDepthRefine = false; 4191 } 4192 #endif 4184 4193 // Get Positions 4185 4194 PartSize eCUMode = getPartitionSize( uiPartAddr ); … … 4241 4250 4242 4251 #if H_3D_NBDV_REF 4243 /*Place DoNBDV*/ 4252 TComPic* picDepth = NULL; 4253 picDepth = getSlice()->getIvPic( true, iTargetViewIdx ); 4254 assert(picDepth != NULL); 4255 if (picDepth && bDepthRefine) 4256 estimateDVFromDM(iTargetViewIdx, uiPartIdx, picDepth, uiPartAddr, &cColMv ); 4257 4258 //Notes from MTK: Please uncomment the following parts while integrating VSP 4259 #if H_3D_VSP 4260 Int refFrmIdx = 0; 4261 RefPicList privateRefPicList = REF_PIC_LIST_0; 4262 //getRefListAndRefFrmIdx(iTargetViewIdx, privateRefPicList, refFrmIdx); 4263 4264 //pDInfo->m_aListIdx[ pDInfo->iN ] = privateRefPicList; 4265 //pDInfo->m_aRefIdx [ pDInfo->iN ] = -1-refFrmIdx; 4266 assert(pDInfo->m_aRefIdx [ pDInfo->iN ] < 0); 4267 #endif //H_3D_VSP 4244 4268 pDInfo->m_acDoNBDV = cColMv; 4245 #endif 4269 #endif //H_3D_NBDV_REF 4246 4270 return true; 4247 4271 } … … 4332 4356 pDInfo->m_aVIdxCan = 0; 4333 4357 #if H_3D_NBDV_REF 4334 /*Place DoNBDV*/ 4358 TComPic* picDepth = getSlice()->getIvPic( true, 0 ); 4359 assert(picDepth!=NULL); 4360 4361 if (picDepth && bDepthRefine) 4362 estimateDVFromDM(0, uiPartIdx, picDepth, uiPartAddr, &cDispVec ); // from base view 4335 4363 4336 4364 pDInfo->m_acDoNBDV = cDispVec; 4365 4366 #if H_3D_VSP 4367 Int refFrmIdx = 0; 4368 RefPicList privateRefPicList = REF_PIC_LIST_0 ; 4369 getRefListAndRefFrmIdx(0, privateRefPicList, refFrmIdx); // find the reference picture from base view 4370 4371 pDInfo->m_aListIdx[ pDInfo->iN ] = privateRefPicList; 4372 pDInfo->m_aRefIdx [ pDInfo->iN ] = -1-refFrmIdx; 4373 assert(pDInfo->m_aRefIdx [ pDInfo->iN ] < 0); 4374 #endif //H_3D_VSP 4337 4375 4338 4376 #endif … … 4347 4385 pDInfo->m_aVIdxCan = 0; 4348 4386 #if H_3D_NBDV_REF 4349 /*Place DoNBDV*/ 4350 4387 TComPic* picDepth = NULL; 4388 picDepth = getSlice()->getIvPic( true, 0 ); 4389 assert(picDepth!=NULL); 4390 4391 if (picDepth && bDepthRefine) 4392 { 4393 estimateDVFromDM(0, uiPartIdx, picDepth, uiPartAddr, &defaultDV ); // from base view 4394 } 4351 4395 pDInfo->m_acDoNBDV = defaultDV; 4396 4397 #if H_3D_VSP 4398 Int refFrmIdx = 0; 4399 RefPicList privateRefPicList = REF_PIC_LIST_0 ; 4400 getRefListAndRefFrmIdx(0, privateRefPicList, refFrmIdx); // find the reference picture from base view 4401 4402 pDInfo->m_aListIdx[ pDInfo->iN ] = privateRefPicList; 4403 pDInfo->m_aRefIdx [ pDInfo->iN ] = -1-refFrmIdx; 4404 assert(pDInfo->m_aRefIdx [ pDInfo->iN ] < 0); 4405 #endif 4352 4406 #endif 4353 4407 return false; 4354 4408 } 4409 4410 #if H_3D_NBDV_REF 4411 Pel TComDataCU::getMcpFromDM(TComPicYuv* pcBaseViewDepthPicYuv, TComMv* mv, Int iBlkX, Int iBlkY, Int iBlkWidth, Int iBlkHeight, Int* aiShiftLUT ) 4412 { 4413 Int iPictureWidth = pcBaseViewDepthPicYuv->getWidth(); 4414 Int iPictureHeight = pcBaseViewDepthPicYuv->getHeight(); 4415 4416 4417 Int depthStartPosX = Clip3(0, iPictureWidth - iBlkWidth, iBlkX + ((mv->getHor()+2)>>2)); 4418 Int depthStartPosY = Clip3(0, iPictureHeight- iBlkHeight, iBlkY + ((mv->getVer()+2)>>2)); 4419 Int depthEndPosX = Clip3(0, iPictureWidth - 1, iBlkX + iBlkWidth - 1 + ((mv->getHor()+2)>>2)); 4420 Int depthEndPosY = Clip3(0, iPictureHeight - 1, iBlkY + iBlkHeight - 1 + ((mv->getVer()+2)>>2)); 4421 4422 Pel* depthTL = pcBaseViewDepthPicYuv->getLumaAddr(); 4423 Int depStride = pcBaseViewDepthPicYuv->getStride(); 4424 4425 Pel maxDepthVal = 0; 4426 maxDepthVal = std::max( maxDepthVal, depthTL[ (depthStartPosY) * depStride + depthStartPosX ]); // Left Top 4427 maxDepthVal = std::max( maxDepthVal, depthTL[ (depthEndPosY) * depStride + depthStartPosX ]); // Left Bottom 4428 maxDepthVal = std::max( maxDepthVal, depthTL[ (depthStartPosY) * depStride + depthEndPosX ]); // Right Top 4429 maxDepthVal = std::max( maxDepthVal, depthTL[ (depthEndPosY) * depStride + depthEndPosX ]); // Right Bottom 4430 4431 return aiShiftLUT[ maxDepthVal ]; 4432 } 4433 4434 Void TComDataCU::estimateDVFromDM(Int refViewIdx, UInt uiPartIdx, TComPic* picDepth, UInt uiPartAddr, TComMv* cMvPred ) 4435 { 4436 if (picDepth) 4437 { 4438 UInt uiAbsPartAddrCurrCU = m_uiAbsIdxInLCU + uiPartAddr; 4439 Int iWidth, iHeight; 4440 getPartIndexAndSize( uiPartIdx, uiPartAddr, iWidth, iHeight ); // The modified value of uiPartAddr won't be used any more 4441 4442 TComPicYuv* pcBaseViewDepthPicYuv = picDepth->getPicYuvRec(); 4443 Int iBlkX = ( getAddr() % picDepth->getFrameWidthInCU() ) * g_uiMaxCUWidth + g_auiRasterToPelX[ g_auiZscanToRaster[ uiAbsPartAddrCurrCU ] ]; 4444 Int iBlkY = ( getAddr() / picDepth->getFrameWidthInCU() ) * g_uiMaxCUHeight + g_auiRasterToPelY[ g_auiZscanToRaster[ uiAbsPartAddrCurrCU ] ]; 4445 4446 Int* aiShiftLUT = getSlice()->getDepthToDisparityB(refViewIdx ); 4447 4448 Pel iDisp = getMcpFromDM( pcBaseViewDepthPicYuv, cMvPred, iBlkX, iBlkY, iWidth, iHeight, aiShiftLUT ); 4449 cMvPred->setHor( iDisp ); 4450 clipMv(*cMvPred); 4451 } 4452 } 4453 #endif //H_3D_NBDV_REF 4454 4355 4455 4356 4456 Bool TComDataCU::xCheckSpatialNBDV( TComDataCU* pcTmpCU, UInt uiIdx, DisInfo* pNbDvInfo, Bool bSearchForMvpDv, IDVInfo* paIDVInfo, UInt uiMvpDvPos … … 4378 4478 pNbDvInfo->m_aVIdxCan = refViewIdx; 4379 4479 #if H_3D_NBDV_REF 4380 /*Place DoNBDV*/ 4480 TComPic* picDepth = NULL; 4481 assert(getSlice()->getRefPic(eRefPicList, refId)->getPOC() == getSlice()->getPOC()); 4482 picDepth = getSlice()->getIvPic (true, refViewIdx ); 4483 assert(picDepth != NULL); 4484 4485 UInt uiPartIdx = 0; //Notes from MTK: Please confirm that using 0 as partition index and partition address is correct for CU-level DoNBDV 4486 UInt uiPartAddr = 0; 4487 4488 if (picDepth && bDepthRefine) 4489 estimateDVFromDM(refViewIdx, uiPartIdx, picDepth, uiPartAddr, &cMvPred ); 4490 4381 4491 4382 4492 pNbDvInfo->m_acDoNBDV = cMvPred; … … 4548 4658 iCurrPosY += ( ( iHeight - 1 ) >> 1 ); 4549 4659 4550 Int iBasePosX = Clip3( 0, pcBaseRec->getWidth () - 1, iCurrPosX + ( (pDInfo->m_acNBDV.getHor() + 2 ) >> 2 ) ); 4551 Int iBasePosY = Clip3( 0, pcBaseRec->getHeight() - 1, iCurrPosY + ( (pDInfo->m_acNBDV.getVer() + 2 ) >> 2 )); 4660 Bool depthRefineFlag = false; 4661 #if H_3D_NBDV_REF 4662 depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() ); 4663 #endif // H_3D_NBDV_REF 4664 4665 TComMv cDv = depthRefineFlag ? pDInfo->m_acNBDV : pDInfo->m_acDoNBDV; 4666 4667 Int iBasePosX = Clip3( 0, pcBaseRec->getWidth () - 1, iCurrPosX + ( (cDv.getHor() + 2 ) >> 2 ) ); 4668 Int iBasePosY = Clip3( 0, pcBaseRec->getHeight() - 1, iCurrPosY + ( (cDv.getVer() + 2 ) >> 2 )); 4552 4669 4553 4670 Int iBaseCUAddr; … … 4611 4728 paiPdmRefIdx [ iRefListId+2 ] = iPdmRefIdx; 4612 4729 4613 TComMv cMv = pDInfo->m_acNBDV; 4730 #if H_3D_NBDV_REF 4731 TComMv cMv = depthRefineFlag ? pDInfo->m_acNBDV : pDInfo->m_acDoNBDV; 4732 #endif // H_3D_NBDV_REF 4614 4733 cMv.setVer(0); 4615 4734 clipMv( cMv ); -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.h
r479 r486 433 433 ); 434 434 435 #if H_3D_NBDV_REF 436 Pel getMcpFromDM(TComPicYuv* pcBaseViewDepthPicYuv, TComMv* mv, Int iBlkX, Int iBlkY, Int iWidth, Int iHeight, Int* aiShiftLUT ); 437 Void estimateDVFromDM(Int refViewIdx, UInt uiPartIdx, TComPic* picDepth, UInt uiPartAddr, TComMv* cMvPred ); 438 #endif //H_3D_NBDV_REF 435 439 #endif 436 440 #if H_3D_IV_MERGE -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComSlice.cpp
r479 r486 114 114 , m_isDepth (false) 115 115 #endif 116 #if H_3D_GEN 117 , m_depthToDisparityB ( NULL ) 118 , m_depthToDisparityF ( NULL ) 119 #endif 116 120 #endif 117 121 { … … 160 164 delete[] m_puiSubstreamSizes; 161 165 m_puiSubstreamSizes = NULL; 166 #if H_3D_GEN 167 for( UInt i = 0; i < getViewIndex(); i++ ) 168 { 169 if ( m_depthToDisparityB && m_depthToDisparityB[ i ] ) 170 delete[] m_depthToDisparityB [ i ]; 171 172 if ( m_depthToDisparityF && m_depthToDisparityF[ i ] ) 173 delete[] m_depthToDisparityF [ i ]; 174 } 175 176 if ( m_depthToDisparityF ) 177 delete[] m_depthToDisparityF; 178 179 m_depthToDisparityF = NULL; 180 181 if ( m_depthToDisparityB ) 182 delete[] m_depthToDisparityB; 183 184 m_depthToDisparityB = NULL; 185 #endif 162 186 } 163 187 … … 837 861 #if H_MV 838 862 m_layerId = pSrc->m_layerId; 863 // GT: Copying of several other values might be be missing here, or is above not necessary? 839 864 #endif 840 865 m_eSliceType = pSrc->m_eSliceType; … … 1491 1516 } 1492 1517 } 1518 #if H_3D_GEN 1519 for( Int i = 0; i < MAX_NUM_LAYERS; i++ ) { 1493 1520 #if H_3D_IV_MERGE 1494 for( Int i = 0; i < MAX_NUM_LAYERS; i++ ) 1495 { 1496 m_ivMvPredFlag[ i ] = false; 1521 m_ivMvPredFlag [ i ] = false; 1522 #endif 1523 #if H_3D_VSP 1524 m_viewSynthesisPredFlag[ i ] = false; 1525 #endif 1526 #if H_3D_NBDV_REF 1527 m_depthRefinementFlag [ i ] = false; 1528 #endif 1497 1529 } 1498 1530 #endif … … 2278 2310 } 2279 2311 } 2312 Void TComSlice::setDepthToDisparityLUTs() 2313 { 2314 Bool setupLUT = false; 2315 Int layerIdInVPS = getVPS()->getLayerIdInNuh( m_layerId ); 2316 2317 #if H_3D_VSP 2318 setupLUT = setupLUT || getVPS()->getViewSynthesisPredFlag( layerIdInVPS); 2319 #endif 2320 2321 #if H_3D_NBDV_REF 2322 setupLUT = setupLUT || getVPS()->getDepthRefinementFlag( layerIdInVPS ); 2323 #endif 2324 2325 if( !setupLUT ) 2326 return; 2327 2328 /// GT: Allocation should be moved to a better place later; 2329 if ( m_depthToDisparityB == NULL ) 2330 { 2331 m_depthToDisparityB = new Int*[ getViewIndex() ]; 2332 for ( Int i = 0; i < getViewIndex(); i++ ) 2333 { 2334 m_depthToDisparityB[ i ] = new Int[ Int(1 << g_bitDepthY) ]; 2335 } 2336 } 2337 2338 if ( m_depthToDisparityF == NULL ) 2339 { 2340 m_depthToDisparityF= new Int*[ getViewIndex() ]; 2341 for ( Int i = 0; i < getViewIndex(); i++ ) 2342 { 2343 m_depthToDisparityF[ i ] = new Int[ Int(1 << g_bitDepthY) ]; 2344 } 2345 } 2346 2347 assert( m_depthToDisparityB != NULL ); 2348 assert( m_depthToDisparityF != NULL ); 2349 2350 TComSPS* sps = getSPS(); 2351 2352 Int log2Div = g_bitDepthY - 1 + sps->getCamParPrecision(); 2353 2354 Bool camParaSH = m_pcSPS->hasCamParInSliceHeader(); 2355 2356 Int* codScale = camParaSH ? m_aaiCodedScale [ 0 ] : sps->getCodedScale (); 2357 Int* codOffset = camParaSH ? m_aaiCodedOffset[ 0 ] : sps->getCodedOffset (); 2358 Int* invCodScale = camParaSH ? m_aaiCodedScale [ 1 ] : sps->getInvCodedScale (); 2359 Int* invCodOffset = camParaSH ? m_aaiCodedOffset[ 1 ] : sps->getInvCodedOffset(); 2360 2361 for (Int i = 0; i <= ( getViewIndex() - 1); i++) 2362 { 2363 for ( Int d = 0; d <= ( ( 1 << g_bitDepthY ) - 1 ); d++ ) 2364 { 2365 Int offset = ( codOffset [ i ] << g_bitDepthY ) + ( ( 1 << log2Div ) >> 1 ); 2366 m_depthToDisparityB[ i ][ d ] = ( codScale [ i ] * d + offset ) >> log2Div; 2367 2368 Int invOffset = ( invCodOffset[ i ] << g_bitDepthY ) + ( ( 1 << log2Div ) >> 1 ); 2369 m_depthToDisparityF[ i ][ d ] = ( invCodScale[ i ] * d + invOffset ) >> log2Div; 2370 } 2371 } 2372 } 2280 2373 #endif 2281 2374 #endif -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComSlice.h
r479 r486 540 540 Bool m_ivMvPredFlag [ MAX_NUM_LAYERS ]; 541 541 #endif 542 #if H_3D_VSP 543 Bool m_viewSynthesisPredFlag [ MAX_NUM_LAYERS ]; 544 #endif 545 #if H_3D_NBDV_REF 546 Bool m_depthRefinementFlag [ MAX_NUM_LAYERS ]; 547 #endif 542 548 #endif 543 549 public: … … 676 682 Void setIvMvPredFlag ( Int layerIdInVps, Bool val ) { m_ivMvPredFlag[ layerIdInVps ] = val; } 677 683 Bool getIvMvPredFlag ( Int layerIdInVps ) { return m_ivMvPredFlag[ layerIdInVps ]; }; 684 #endif 685 #if H_3D_VSP 686 Void setViewSynthesisPredFlag ( Int layerIdInVps, Bool val ) { m_viewSynthesisPredFlag[ layerIdInVps ] = val; } 687 Bool getViewSynthesisPredFlag ( Int layerIdInVps ) { return m_viewSynthesisPredFlag[ layerIdInVps ]; }; 688 #endif 689 #if H_3D_NBDV_REF 690 Void setDepthRefinementFlag ( Int layerIdInVps, Bool val ) { m_depthRefinementFlag[ layerIdInVps ] = val; } 691 Bool getDepthRefinementFlag ( Int layerIdInVps ) { return m_depthRefinementFlag[ layerIdInVps ]; }; 678 692 #endif 679 693 #endif … … 1495 1509 #if H_3D_GEN 1496 1510 TComPic* m_ivPicsCurrPoc [2][MAX_NUM_LAYERS]; 1511 Int** m_depthToDisparityB; 1512 Int** m_depthToDisparityF; 1497 1513 #endif 1498 1514 #endif … … 1776 1792 #if H_3D_GEN 1777 1793 Void setIvPicLists( TComPicLists* m_ivPicLists ); 1794 Void setDepthToDisparityLUTs(); 1795 1796 Int* getDepthToDisparityB( Int refViewIdx ) { return m_depthToDisparityB[ refViewIdx ]; }; 1797 Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ refViewIdx ]; }; 1798 1778 1799 #endif 1779 1800 -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TypeDef.h
r479 r486 88 88 // QC_CU_NBDV_D0181 89 89 // SEC_DEFAULT_DV_D0112 90 #define H_3D_NBDV_REF 1 // Depth oriented neighboring block disparity derivation 91 // MTK_D0156 92 // MERL_VSP_NBDV_RefVId_Fix_D0166 93 #define H_3D_VSP 0 // Depth oriented neighboring block disparity derivation 90 94 91 95 #define H_3D_IV_MERGE 1 // Inter-view motion merge candidate -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibDecoder/TDecCAVLC.cpp
r479 r486 954 954 { 955 955 #if H_3D 956 #if H_3D_ IV_MERGE956 #if H_3D_GEN 957 957 for( Int layer = 0; layer <= pcVPS->getMaxLayers() - 1; layer++ ) 958 958 { … … 961 961 if ( !( pcVPS->getDepthId( layer ) == 1 ) ) 962 962 { 963 READ_FLAG( uiCode, "ivMvPredFlag[i]"); pcVPS->setIvMvPredFlag( layer, uiCode == 1 ? true : false ); 963 #if H_3D_IV_MERGE 964 READ_FLAG( uiCode, "iv_mv_pred_flag[i]"); pcVPS->setIvMvPredFlag ( layer, uiCode == 1 ? true : false ); 965 #endif 966 #if H_3D_NBDV_REF 967 READ_FLAG( uiCode, "depth_refinement_flag[i]"); pcVPS->setDepthRefinementFlag ( layer, uiCode == 1 ? true : false ); 968 #endif 969 #if H_3D_VSP 970 READ_FLAG( uiCode, "view_synthesis_pred_flag[i]"); pcVPS->setViewSynthesisPredFlag( layer, uiCode == 1 ? true : false ); 971 #endif 964 972 } 965 973 } -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibDecoder/TDecCu.cpp
r478 r486 292 292 m_ppcCU[uiDepth]->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth ); 293 293 #if H_3D_NBDV_REF 294 if(pcCU->getSlice()->get SPS()->getUseDVPRefine()) //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done.294 if(pcCU->getSlice()->getVPS()->getDepthRefinementFlag( pcCU->getSlice()->getLayerIdInVps() )) //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done. 295 295 DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo, true); 296 296 else -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibDecoder/TDecGop.cpp
r479 r486 159 159 } 160 160 #endif 161 #if H_3D_GEN 162 pcSlice->setDepthToDisparityLUTs(); 163 #endif 161 164 m_pcSbacDecoders[0].load(m_pcSbacDecoder); 162 165 m_pcSliceDecoder->decompressSlice( ppcSubstreams, rpcPic, m_pcSbacDecoder, m_pcSbacDecoders); -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncCavlc.cpp
r481 r486 750 750 { 751 751 #if H_3D_IV_MERGE 752 WRITE_FLAG( pcVPS->getIvMvPredFlag(layer) ? 1 : 0 , "ivMvPredFlag[i]"); 752 WRITE_FLAG( pcVPS->getIvMvPredFlag (layer) ? 1 : 0 , "iv_mv_pred_flag[i]"); 753 #endif 754 #if H_3D_NBDV_REF 755 WRITE_FLAG( pcVPS->getDepthRefinementFlag (layer) ? 1 : 0 , "depth_refinement_flag[i]"); 756 #endif 757 #if H_3D_VSP 758 WRITE_FLAG( pcVPS->getViewSynthesisPredFlag(layer) ? 1 : 0 , "view_synthesis_pred_flag[i]"); 753 759 #endif 754 760 } -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncCu.cpp
r476 r486 473 473 rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth ); 474 474 #if H_3D_NBDV_REF 475 if( m_pcSlice->getSPS()->getUseDVPRefine()) //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done.475 if(rpcTempCU->getSlice()->getVPS()->getDepthRefinementFlag( rpcTempCU->getSlice()->getLayerIdInVps())) 476 476 DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo, true); 477 477 else -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncGOP.cpp
r481 r486 1048 1048 pcPic->setNumDdvCandPics(pcPic->getDisCandRefPictures(iColPoc)); 1049 1049 } 1050 #if H_3D_GEN 1051 pcSlice->setDepthToDisparityLUTs(); 1052 1053 #endif 1050 1054 #endif 1051 1055 while(nextCUAddr<uiRealEndAddress) // determine slice boundaries -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncSlice.cpp
r481 r486 544 544 rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() ); 545 545 #if H_3D_IV_MERGE 546 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) );546 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) ); 547 547 #else 548 548 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() );
Note: See TracChangeset for help on using the changeset viewer.