Changeset 1483 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibEncoder


Ignore:
Timestamp:
22 Oct 2015, 14:50:29 (9 years ago)
Author:
seregin
Message:

remove m_layerId from TComDataCU

Location:
branches/SHM-dev/source/Lib/TLibEncoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCu.cpp

    r1406 r1483  
    212212 
    213213#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(); 
    220215#endif
    221216 
     
    465460#if ENCODER_FAST_MODE
    466461    Bool testInter = true;
    467     if( rpcBestCU->getLayerId() > 0 )
     462    if( rpcBestCU->getPic()->getLayerId() > 0 )
    468463    {
    469464      if(pcSlice->getSliceType() == P_SLICE && pcSlice->getNumRefIdx(REF_PIC_LIST_0) == pcSlice->getActiveNumILRRefIdx())
     
    18321827  Bool disableILP = false;
    18331828
    1834   if (rpcCU->getLayerId() == (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)
    18351830  {
    18361831    if (rpcCU->getPic()->getPicSym()->getTileSetType(rpcCU->getCtuRsAddr()) == 2)
     
    18681863Void TEncCu::xVerifyTileSetConstraint( TComDataCU*& rpcCU )
    18691864{
    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 )
    18721867  {
    18731868    UInt numPartitions = rpcCU->getPic()->getNumPartitionsInCtu();
     
    18831878            if (mvField->getRefIdx(i) >= 0)
    18841879            {
    1885               assert(!(rpcCU->getSlice()->getRefPic(RefPicList(refList), mvField->getRefIdx(i))->isILR(rpcCU->getLayerId())));
     1880              assert(!(rpcCU->getSlice()->getRefPic(RefPicList(refList), mvField->getRefIdx(i))->isILR(rpcCU->getPic()->getLayerId())));
    18861881            }
    18871882          }
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncSearch.cpp

    r1469 r1483  
    22652265      pcCU->getIntraDirPredictor( uiPartOffset, uiPreds, COMPONENT_Y, &iMode );
    22662266
    2267       if( m_pcEncCfg->getUseFastIntraScalable() && pcCU->getLayerId() > 0 )
     2267      if( m_pcEncCfg->getUseFastIntraScalable() && pcCU->getPic()->getLayerId() > 0 )
    22682268      {
    22692269        numModesAvailable = pcCU->reduceSetOfIntraModes(uiPartOffset, uiPreds, pcCU->getPic()->getPosScalingFactor(), iMode );
     
    30983098       
    30993099        // motion search only for the ILRP with sample prediction type
    3100         if( pcPic->isILR( pcCU->getLayerId() ) && !pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getLayerIdx(), pcPic->getLayerIdx() ) )
     3100        if( pcPic->isILR( pcCU->getPic()->getLayerId() ) && !pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getPic()->getLayerIdx(), pcPic->getLayerIdx() ) )
    31013101        {
    31023102          continue;
     
    31043104
    31053105#if N0383_IL_CONSTRAINED_TILE_SETS_SEI
    3106         if( pcPic->isILR(pcCU->getLayerId()) && m_disableILP )
     3106        if( pcPic->isILR(pcCU->getPic()->getLayerId()) && m_disableILP )
    31073107        {
    31083108          continue;
     
    31103110#endif
    31113111#if ENCODER_FAST_MODE       
    3112         if( pcPic->isILR(pcCU->getLayerId()) && (ePartSize == SIZE_2Nx2N) )
     3112        if( pcPic->isILR(pcCU->getPic()->getLayerId()) && (ePartSize == SIZE_2Nx2N) )
    31133113        {
    31143114          continue;
     
    32023202
    32033203#if SVC_EXTENSION
    3204     if( pcCU->getLayerId() && !doneUniPred )
     3204    if( pcCU->getPic()->getLayerId() && !doneUniPred )
    32053205    {
    32063206      // there is no valid reference pictures for inter prediction
     
    33133313        Bool     testIter = true;
    33143314        TComPic* pcPic    = pcCU->getSlice()->getRefPic( RefPicList(1 - iRefList), iRefIdxBi[1 - iRefList] );
    3315         if(pcPic->isILR(pcCU->getLayerId()) && (ePartSize == SIZE_2Nx2N))
     3315        if(pcPic->isILR(pcCU->getPic()->getLayerId()) && (ePartSize == SIZE_2Nx2N))
    33163316        {
    33173317          testIter = false;  //the fixed part is ILR, skip this iteration       
    33183318        }
    33193319#if N0383_IL_CONSTRAINED_TILE_SETS_SEI
    3320         if (pcPic->isILR(pcCU->getLayerId()) && m_disableILP)
     3320        if (pcPic->isILR(pcCU->getPic()->getLayerId()) && m_disableILP)
    33213321        {
    33223322          testIter = false;
     
    33363336
    33373337          // motion search only for the ILRP with sample prediction type
    3338           if( pcPic->isILR( pcCU->getLayerId() ) && !pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getLayerIdx(), pcPic->getLayerIdx() ) )
     3338          if( pcPic->isILR( pcCU->getPic()->getLayerId() ) && !pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getPic()->getLayerIdx(), pcPic->getLayerIdx() ) )
    33393339          {
    33403340            continue;
    33413341          }
    33423342
    3343           if(pcPic->isILR(pcCU->getLayerId()) && (ePartSize == SIZE_2Nx2N))
     3343          if(pcPic->isILR(pcCU->getPic()->getLayerId()) && (ePartSize == SIZE_2Nx2N))
    33443344          {
    33453345            testRefIdx = false;  //the refined part is ILR, skip this reference pic           
    33463346          }
    33473347#if N0383_IL_CONSTRAINED_TILE_SETS_SEI
    3348           if (pcPic->isILR(pcCU->getLayerId()) && m_disableILP)
     3348          if (pcPic->isILR(pcCU->getPic()->getLayerId()) && m_disableILP)
    33493349          {
    33503350            testRefIdx = false;
     
    39193919  //  Do integer search
    39203920#if REF_IDX_ME_ZEROMV
    3921   if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->getLayerId()))  //ILR reference pic
     3921  if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->getPic()->getLayerId()))  //ILR reference pic
    39223922  {
    39233923    rcMv.setZero();  //use Mv(0, 0) for integer ME
     
    39553955
    39563956#if REF_IDX_ME_ZEROMV
    3957   if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->getLayerId()))  //ILR reference pic
     3957  if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->getPic()->getLayerId()))  //ILR reference pic
    39583958  {
    39593959    xPatternSearchFracDIFMv0( pcPatternKey, piRefY, iRefStride, &rcMv, cMvHalf, cMvQter, ruiCost );
     
    60266026
    60276027      // ILRP has to be for the sample prediction type
    6028       if( refPic->isILR(pcCU->getLayerId()) && 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) ) )
    60296029      {
    60306030        iRefIdxTemp = refIdx;
Note: See TracChangeset for help on using the changeset viewer.