Changeset 1171 in 3DVCSoftware


Ignore:
Timestamp:
5 Apr 2015, 22:52:36 (9 years ago)
Author:
tech
Message:

K0050: ARP availability

Location:
branches/HTM-13.1-dev0
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-13.1-dev0/source/Lib/TLibCommon/TComSlice.cpp

    r1170 r1171  
    598598  Int i;
    599599
     600#if HHI_RES_PRED_K0052
     601  m_pocsInCurrRPSs.clear();
     602#endif
     603
    600604  for(i=0; i < m_pcRPS->getNumberOfNegativePictures(); i++)
    601605  {
     
    608612      NumPocStCurr0++;
    609613      pcRefPic->setCheckLTMSBPresent(false); 
     614#if HHI_RES_PRED_K0052
     615      m_pocsInCurrRPSs.push_back( pcRefPic->getPOC() );
     616#endif
    610617    }
    611618  }
     
    621628      NumPocStCurr1++;
    622629      pcRefPic->setCheckLTMSBPresent(false); 
     630#if HHI_RES_PRED_K0052
     631      m_pocsInCurrRPSs.push_back( pcRefPic->getPOC() );
     632#endif
    623633    }
    624634  }
     
    633643      RefPicSetLtCurr[NumPocLtCurr] = pcRefPic;
    634644      NumPocLtCurr++;
     645#if HHI_RES_PRED_K0052
     646      m_pocsInCurrRPSs.push_back( pcRefPic->getPOC() );
     647#endif
    635648    }
    636649    if(pcRefPic==NULL)
     
    642655
    643656  Int numPocInterCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr;
     657#if HHI_RES_PRED_K0052
     658  assert( numPocInterCurr == (Int) m_pocsInCurrRPSs.size() );
     659#endif
    644660  numPocTotalCurr = numPocInterCurr + getNumActiveRefLayerPics( );
    645661  assert( numPocTotalCurr == getNumRpsCurrTempList() );
     
    37823798      {
    37833799        Int layerIdInNuh = getRefPicLayerId( i );
     3800#if HHI_RES_PRED_K0052
     3801        TComPic* picV = getIvPic( getIsDepth(), getVPS()->getViewIndex( layerIdInNuh ) );
     3802        assert( picV != NULL );
     3803        std::vector<Int> pocsInCurrRPSsPicV = picV->getSlice(0)->getPocsInCurrRPSs();
     3804        Bool refRpRefAvailFlag = false;
     3805        for (Int idx = 0; idx < pocsInCurrRPSsPicV.size(); idx++)
     3806        {
     3807          if ( pocsInCurrRPSsPicV[idx] == prevPOC )
     3808          {
     3809            refRpRefAvailFlag = true;
     3810            break;
     3811          }
     3812        }
     3813
     3814        if (getFirstTRefIdx(eRefPicList) >= 0 && refRpRefAvailFlag )
     3815#else
    37843816        Int viewIdx = getVPS()->getViewId( layerIdInNuh );
    37853817        TComPic*pcPicPrev = ivPicLists->getPic(viewIdx, 0, prevPOC);
    37863818        if (getFirstTRefIdx(eRefPicList) >= 0 && pcPicPrev && pcPicPrev->getSlice( 0 )->isReferenced())
     3819#endif
    37873820        {
    37883821          m_arpRefPicAvailable[eRefPicList][layerIdInNuh] = true;
  • branches/HTM-13.1-dev0/source/Lib/TLibCommon/TComSlice.h

    r1170 r1171  
    24332433  UInt                 m_nARPStepNum;
    24342434  Int         m_aiFirstTRefIdx    [2];
     2435#if HHI_RES_PRED_K0052
     2436  std::vector<Int> m_pocsInCurrRPSs;
     2437#endif
    24352438#endif
    24362439#if H_3D_IC
     
    27812784  Void      setFirstTRefIdx        ( RefPicList e, Int i )         { m_aiFirstTRefIdx[e]    = i;      }
    27822785  Bool      getArpRefPicAvailable( RefPicList e, Int viewIdx) {return m_arpRefPicAvailable[e][getVPS()->getLayerIdInNuh(viewIdx, 0)]; }
     2786#if HHI_RES_PRED_K0052
     2787  std::vector<Int> getPocsInCurrRPSs()                             { return m_pocsInCurrRPSs; };
     2788#endif
    27832789#endif
    27842790  Void      setIsDepth            ( Bool isDepth )   { m_isDepth = isDepth; }
  • branches/HTM-13.1-dev0/source/Lib/TLibCommon/TypeDef.h

    r1170 r1171  
    333333#define HHI_VIEW_ID_LIST_I5_J0107              0
    334334#define HHI_INTER_COMP_PRED_K0052              1
     335#define HHI_RES_PRED_K0052                     1
    335336#define H_3D_ANNEX_SELECTION_FIX               1
    336337
  • branches/HTM-13.1-dev0/source/Lib/TLibDecoder/TDecTop.cpp

    r1170 r1171  
    10941094#endif
    10951095#endif
     1096#if HHI_RES_PRED_K0052
     1097  pcSlice->setIvPicLists( m_ivPicLists );         
     1098#endif
     1099
    10961100  if (bNextSlice)
    10971101  {
     
    11291133
    11301134#if H_3D
     1135#if !HHI_RES_PRED_K0052
    11311136    pcSlice->setIvPicLists( m_ivPicLists );         
     1137#endif
    11321138
    11331139#if HHI_INTER_COMP_PRED_K0052
Note: See TracChangeset for help on using the changeset viewer.