Changeset 1321 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComPrediction.cpp
- Timestamp:
- 7 Sep 2015, 18:16:33 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibCommon/TComPrediction.cpp
r1313 r1321 562 562 Int RefPOCL0 = pcCU->getSlice()->getRefPic(REF_PIC_LIST_0, pcCU->getCUMvField(REF_PIC_LIST_0)->getRefIdx(PartAddr))->getPOC(); 563 563 Int RefPOCL1 = pcCU->getSlice()->getRefPic(REF_PIC_LIST_1, pcCU->getCUMvField(REF_PIC_LIST_1)->getRefIdx(PartAddr))->getPOC(); 564 #if NH_MV_FIX_TICKET_106 565 #if NH_MV 566 Int layerIdL0 = pcCU->getSlice()->getRefPic(REF_PIC_LIST_0, pcCU->getCUMvField(REF_PIC_LIST_0)->getRefIdx(PartAddr))->getLayerId(); 567 Int layerIdL1 = pcCU->getSlice()->getRefPic(REF_PIC_LIST_1, pcCU->getCUMvField(REF_PIC_LIST_1)->getRefIdx(PartAddr))->getLayerId(); 568 #if NH_3D_ARP 569 if(!pcCU->getARPW(PartAddr) && RefPOCL0 == RefPOCL1 && layerIdL0 == layerIdL1 && pcCU->getCUMvField(REF_PIC_LIST_0)->getMv(PartAddr) == pcCU->getCUMvField(REF_PIC_LIST_1)->getMv(PartAddr)) 570 #else 571 if(RefPOCL0 == RefPOCL1 && layerIdL0 == layerIdL1 && pcCU->getCUMvField(REF_PIC_LIST_0)->getMv(PartAddr) == pcCU->getCUMvField(REF_PIC_LIST_1)->getMv(PartAddr)) 572 #endif 573 #else 574 if(RefPOCL0 == RefPOCL1 && pcCU->getCUMvField(REF_PIC_LIST_0)->getMv(PartAddr) == pcCU->getCUMvField(REF_PIC_LIST_1)->getMv(PartAddr)) 575 #endif 576 #else 564 577 #if NH_3D_ARP 565 578 if(!pcCU->getARPW(PartAddr) && RefPOCL0 == RefPOCL1 && pcCU->getCUMvField(REF_PIC_LIST_0)->getMv(PartAddr) == pcCU->getCUMvField(REF_PIC_LIST_1)->getMv(PartAddr)) … … 567 580 if(RefPOCL0 == RefPOCL1 && pcCU->getCUMvField(REF_PIC_LIST_0)->getMv(PartAddr) == pcCU->getCUMvField(REF_PIC_LIST_1)->getMv(PartAddr)) 568 581 #endif 582 #endif 569 583 { 570 584 return true; … … 584 598 pcCU->getSPAbsPartIdx(uiPartAddr, iSPWidth, iSPHeight, i, iNumSPInOneLine, uiSPAddr[i]); 585 599 } 586 #if H_3D_ARP || NH_3D_ALIGN_SPIVMP_RP // check this!600 #if NH_3D_ARP 587 601 if( pcCU->getARPW( uiPartAddr ) != 0 ) 588 602 { … … 1302 1316 TComMv cMv = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr ); 1303 1317 pcCU->clipMv(cMv); 1318 1319 #if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC 1320 if ( g_traceMotionInfoBeforUniPred ) 1321 { 1322 std::cout << "RefPic POC : " << pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPOC() << std::endl; 1323 std::cout << "RefPic Layer Id: " << pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getLayerId() << std::endl; 1324 std::cout << "RefIdx : " << iRefIdx << std::endl; 1325 std::cout << "RefPIcList : " << eRefPicList << std::endl; 1326 } 1327 #endif 1328 1304 1329 #if NH_MV 1305 1330 pcCU->checkMvVertRest(cMv, eRefPicList, iRefIdx ); … … 1309 1334 { 1310 1335 if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPOC()== pcCU->getSlice()->getPOC() ) 1311 {1336 { 1312 1337 xPredInterUniARPviewRef( pcCU , uiPartAddr , iWidth , iHeight , eRefPicList , pcYuvPred , bi ); 1313 }1314 else1315 {1338 } 1339 else 1340 { 1316 1341 xPredInterUniARP( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, bi ); 1317 1342 } 1318 } 1319 else 1320 { 1321 #endif 1322 for (UInt comp=COMPONENT_Y; comp<pcYuvPred->getNumberValidComponents(); comp++) 1323 { 1324 const ComponentID compID=ComponentID(comp); 1343 } 1344 else 1345 { 1346 #endif 1347 1348 for (UInt comp=COMPONENT_Y; comp<pcYuvPred->getNumberValidComponents(); comp++) 1349 { 1350 const ComponentID compID=ComponentID(comp); 1325 1351 #if NH_3D_IC 1326 Bool bICFlag = pcCU->getICFlag( uiPartAddr ) && ( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getViewIndex() != pcCU->getSlice()->getViewIndex() ) && ( isLuma(compID) || (iWidth > 8) );1352 Bool bICFlag = pcCU->getICFlag( uiPartAddr ) && ( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getViewIndex() != pcCU->getSlice()->getViewIndex() ) && ( isLuma(compID) || (iWidth > 8) ); 1327 1353 xPredInterBlk(compID, pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, pcYuvPred, bi, pcCU->getSlice()->getSPS()->getBitDepth(toChannelType(compID)) 1328 1354 #if NH_3D_ARP … … 1331 1357 , bICFlag ); 1332 1358 #else 1333 xPredInterBlk (compID, pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, pcYuvPred, bi, pcCU->getSlice()->getSPS()->getBitDepth(toChannelType(compID)) );1334 #endif 1335 }1359 xPredInterBlk (compID, pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, pcYuvPred, bi, pcCU->getSlice()->getSPS()->getBitDepth(toChannelType(compID)) ); 1360 #endif 1361 } 1336 1362 #if NH_3D_ARP 1337 1363 } … … 1813 1839 ) 1814 1840 { 1841 #if NH_MV 1842 assert( refPic->getBorderExtension() ); 1843 #endif 1815 1844 Int refStride = refPic->getStride(compID); 1816 1845 Int dstStride = dstPic->getStride(compID);
Note: See TracChangeset for help on using the changeset viewer.