Changeset 1483 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibEncoder
- Timestamp:
- 22 Oct 2015, 14:50:29 (9 years ago)
- Location:
- branches/SHM-dev/source/Lib/TLibEncoder
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibEncoder/TEncCu.cpp
r1406 r1483 212 212 213 213 #if SVC_EXTENSION 214 m_ppcTEncTop = pcEncTop->getLayerEnc(); 215 for(UInt i=0 ; i< m_uhTotalDepth-1 ; i++) 216 { 217 m_ppcBestCU[i]->setLayerId(pcEncTop->getLayerId()); 218 m_ppcTempCU[i]->setLayerId(pcEncTop->getLayerId()); 219 } 214 m_ppcTEncTop = pcEncTop->getLayerEnc(); 220 215 #endif 221 216 … … 465 460 #if ENCODER_FAST_MODE 466 461 Bool testInter = true; 467 if( rpcBestCU->get LayerId() > 0 )462 if( rpcBestCU->getPic()->getLayerId() > 0 ) 468 463 { 469 464 if(pcSlice->getSliceType() == P_SLICE && pcSlice->getNumRefIdx(REF_PIC_LIST_0) == pcSlice->getActiveNumILRRefIdx()) … … 1832 1827 Bool disableILP = false; 1833 1828 1834 if (rpcCU->get LayerId() == (m_pcEncCfg->getNumLayer() - 1) && m_pcEncCfg->getInterLayerConstrainedTileSetsSEIEnabled() && rpcCU->getPic()->getPicSym()->getTileSetIdxMap(rpcCU->getCtuRsAddr()) >= 0)1829 if (rpcCU->getPic()->getLayerId() == (m_pcEncCfg->getNumLayer() - 1) && m_pcEncCfg->getInterLayerConstrainedTileSetsSEIEnabled() && rpcCU->getPic()->getPicSym()->getTileSetIdxMap(rpcCU->getCtuRsAddr()) >= 0) 1835 1830 { 1836 1831 if (rpcCU->getPic()->getPicSym()->getTileSetType(rpcCU->getCtuRsAddr()) == 2) … … 1868 1863 Void TEncCu::xVerifyTileSetConstraint( TComDataCU*& rpcCU ) 1869 1864 { 1870 if (rpcCU->getLayerId() == (m_pcEncCfg->getNumLayer() - 1) && m_pcEncCfg->getInterLayerConstrainedTileSetsSEIEnabled() && rpcCU->getPic()->getPicSym()->getTileSetIdxMap(rpcCU->getCtuRsAddr()) >= 0 &&1871 m_disableILP)1865 if( rpcCU->getPic()->getLayerId() == (m_pcEncCfg->getNumLayer() - 1) && m_pcEncCfg->getInterLayerConstrainedTileSetsSEIEnabled() && 1866 rpcCU->getPic()->getPicSym()->getTileSetIdxMap(rpcCU->getCtuRsAddr()) >= 0 && m_disableILP ) 1872 1867 { 1873 1868 UInt numPartitions = rpcCU->getPic()->getNumPartitionsInCtu(); … … 1883 1878 if (mvField->getRefIdx(i) >= 0) 1884 1879 { 1885 assert(!(rpcCU->getSlice()->getRefPic(RefPicList(refList), mvField->getRefIdx(i))->isILR(rpcCU->get LayerId())));1880 assert(!(rpcCU->getSlice()->getRefPic(RefPicList(refList), mvField->getRefIdx(i))->isILR(rpcCU->getPic()->getLayerId()))); 1886 1881 } 1887 1882 } -
branches/SHM-dev/source/Lib/TLibEncoder/TEncSearch.cpp
r1469 r1483 2265 2265 pcCU->getIntraDirPredictor( uiPartOffset, uiPreds, COMPONENT_Y, &iMode ); 2266 2266 2267 if( m_pcEncCfg->getUseFastIntraScalable() && pcCU->get LayerId() > 0 )2267 if( m_pcEncCfg->getUseFastIntraScalable() && pcCU->getPic()->getLayerId() > 0 ) 2268 2268 { 2269 2269 numModesAvailable = pcCU->reduceSetOfIntraModes(uiPartOffset, uiPreds, pcCU->getPic()->getPosScalingFactor(), iMode ); … … 3098 3098 3099 3099 // motion search only for the ILRP with sample prediction type 3100 if( pcPic->isILR( pcCU->get LayerId() ) && !pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getLayerIdx(), pcPic->getLayerIdx() ) )3100 if( pcPic->isILR( pcCU->getPic()->getLayerId() ) && !pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getPic()->getLayerIdx(), pcPic->getLayerIdx() ) ) 3101 3101 { 3102 3102 continue; … … 3104 3104 3105 3105 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI 3106 if( pcPic->isILR(pcCU->get LayerId()) && m_disableILP )3106 if( pcPic->isILR(pcCU->getPic()->getLayerId()) && m_disableILP ) 3107 3107 { 3108 3108 continue; … … 3110 3110 #endif 3111 3111 #if ENCODER_FAST_MODE 3112 if( pcPic->isILR(pcCU->get LayerId()) && (ePartSize == SIZE_2Nx2N) )3112 if( pcPic->isILR(pcCU->getPic()->getLayerId()) && (ePartSize == SIZE_2Nx2N) ) 3113 3113 { 3114 3114 continue; … … 3202 3202 3203 3203 #if SVC_EXTENSION 3204 if( pcCU->get LayerId() && !doneUniPred )3204 if( pcCU->getPic()->getLayerId() && !doneUniPred ) 3205 3205 { 3206 3206 // there is no valid reference pictures for inter prediction … … 3313 3313 Bool testIter = true; 3314 3314 TComPic* pcPic = pcCU->getSlice()->getRefPic( RefPicList(1 - iRefList), iRefIdxBi[1 - iRefList] ); 3315 if(pcPic->isILR(pcCU->get LayerId()) && (ePartSize == SIZE_2Nx2N))3315 if(pcPic->isILR(pcCU->getPic()->getLayerId()) && (ePartSize == SIZE_2Nx2N)) 3316 3316 { 3317 3317 testIter = false; //the fixed part is ILR, skip this iteration 3318 3318 } 3319 3319 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI 3320 if (pcPic->isILR(pcCU->get LayerId()) && m_disableILP)3320 if (pcPic->isILR(pcCU->getPic()->getLayerId()) && m_disableILP) 3321 3321 { 3322 3322 testIter = false; … … 3336 3336 3337 3337 // motion search only for the ILRP with sample prediction type 3338 if( pcPic->isILR( pcCU->get LayerId() ) && !pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getLayerIdx(), pcPic->getLayerIdx() ) )3338 if( pcPic->isILR( pcCU->getPic()->getLayerId() ) && !pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getPic()->getLayerIdx(), pcPic->getLayerIdx() ) ) 3339 3339 { 3340 3340 continue; 3341 3341 } 3342 3342 3343 if(pcPic->isILR(pcCU->get LayerId()) && (ePartSize == SIZE_2Nx2N))3343 if(pcPic->isILR(pcCU->getPic()->getLayerId()) && (ePartSize == SIZE_2Nx2N)) 3344 3344 { 3345 3345 testRefIdx = false; //the refined part is ILR, skip this reference pic 3346 3346 } 3347 3347 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI 3348 if (pcPic->isILR(pcCU->get LayerId()) && m_disableILP)3348 if (pcPic->isILR(pcCU->getPic()->getLayerId()) && m_disableILP) 3349 3349 { 3350 3350 testRefIdx = false; … … 3919 3919 // Do integer search 3920 3920 #if REF_IDX_ME_ZEROMV 3921 if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->get LayerId())) //ILR reference pic3921 if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->getPic()->getLayerId())) //ILR reference pic 3922 3922 { 3923 3923 rcMv.setZero(); //use Mv(0, 0) for integer ME … … 3955 3955 3956 3956 #if REF_IDX_ME_ZEROMV 3957 if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->get LayerId())) //ILR reference pic3957 if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->getPic()->getLayerId())) //ILR reference pic 3958 3958 { 3959 3959 xPatternSearchFracDIFMv0( pcPatternKey, piRefY, iRefStride, &rcMv, cMvHalf, cMvQter, ruiCost ); … … 6026 6026 6027 6027 // ILRP has to be for the sample prediction type 6028 if( refPic->isILR(pcCU->get LayerId()) && refPic->getLayerId() == refLayerId && pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getLayerIdx(), pcCU->getSlice()->getVPS()->getLayerIdxInVps(refLayerId) ) )6028 if( refPic->isILR(pcCU->getPic()->getLayerId()) && refPic->getLayerId() == refLayerId && pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getPic()->getLayerIdx(), pcCU->getSlice()->getVPS()->getLayerIdxInVps(refLayerId) ) ) 6029 6029 { 6030 6030 iRefIdxTemp = refIdx;
Note: See TracChangeset for help on using the changeset viewer.