Changeset 673 in SHVCSoftware for branches/SHM-6-dev


Ignore:
Timestamp:
14 Apr 2014, 02:28:43 (11 years ago)
Author:
etri
Message:

Add a condition to the derivation of refLayerPicIdc of (TemporalId == 0) : JCTVC-Q0060 proposal 2

Location:
branches/SHM-6-dev/source/Lib
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h

    r669 r673  
    185185#define TSLAYERS_IL_RPS                  1      ///< JCTVC-O0120 IL RPS based on max temporal sub-layers
    186186#define P0079_DERIVE_NUMACTIVE_REF_PICS  1      ///< JCTVC-P0079 Modification of derivation of variable NumActiveRefLayerPics
     187#define Q0060_MAX_TID_REF_EQUAL_TO_ZERO  1      ///< JCTVC-Q0060 handling the case max_tid_il_ref_pics_plus1 is equal to 0.
    187188#if REF_IDX_MFM
    188189#define N0139_POSITION_ROUNDING_OFFSET   1      ///< JCTVC-N0139: offset for collocated block in motion mapping
  • branches/SHM-6-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r672 r673  
    26762676            for( Int i = 0; i < rpcSlice->getNumILRRefIdx(); i++ )
    26772677            {
     2678#if Q0060_MAX_TID_REF_EQUAL_TO_ZERO
     2679              if((rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(rpcSlice->getVPS()->getLayerIdInVps(i),rpcSlice->getLayerId()) >  rpcSlice->getTLayer() || rpcSlice->getTLayer()==0) &&
     2680                (rpcSlice->getVPS()->getMaxTSLayersMinus1(rpcSlice->getVPS()->getLayerIdInVps(i)) >=  rpcSlice->getTLayer()) )
     2681#else
    26782682              if(rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(rpcSlice->getVPS()->getLayerIdInVps(i),rpcSlice->getLayerId()) >  rpcSlice->getTLayer() &&
    26792683                (rpcSlice->getVPS()->getMaxTSLayersMinus1(rpcSlice->getVPS()->getLayerIdInVps(i)) >=  rpcSlice->getTLayer()) )
     2684#endif
    26802685              {         
    26812686                rpcSlice->setActiveNumILRRefIdx(1);
     
    27102715        {
    27112716#if O0225_TID_BASED_IL_RPS_DERIV && TSLAYERS_IL_RPS
     2717#if Q0060_MAX_TID_REF_EQUAL_TO_ZERO
     2718          if((rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(0,rpcSlice->getLayerId()) >  rpcSlice->getTLayer() || rpcSlice->getTLayer()==0) &&
     2719            (rpcSlice->getVPS()->getMaxTSLayersMinus1(0) >=  rpcSlice->getTLayer()) )
     2720#else
    27122721          if( (rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(0,rpcSlice->getLayerId()) >  rpcSlice->getTLayer()) &&
    27132722             (rpcSlice->getVPS()->getMaxTSLayersMinus1(0) >=  rpcSlice->getTLayer()) )
     2723#endif
    27142724        {
    27152725#endif
     
    27372747      for(i = 0, numRefLayerPics = 0;  i < rpcSlice->getNumILRRefIdx(); i++ )
    27382748      {
     2749#if Q0060_MAX_TID_REF_EQUAL_TO_ZERO
     2750        if((rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(rpcSlice->getVPS()->getLayerIdInVps(i),rpcSlice->getLayerId()) >  rpcSlice->getTLayer() || rpcSlice->getTLayer()==0) &&
     2751          (rpcSlice->getVPS()->getMaxTSLayersMinus1(rpcSlice->getVPS()->getLayerIdInVps(i)) >=  rpcSlice->getTLayer()) )
     2752#else
    27392753        if(rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(rpcSlice->getVPS()->getLayerIdInVps(i),rpcSlice->getLayerId()) >  rpcSlice->getTLayer() &&
    27402754           (rpcSlice->getVPS()->getMaxTSLayersMinus1(rpcSlice->getVPS()->getLayerIdInVps(i)) >=  rpcSlice->getTLayer()) )
     2755#endif
    27412756        {         
    27422757          refLayerPicIdc[ numRefLayerPics++ ] = i;
  • branches/SHM-6-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r652 r673  
    967967      }
    968968
    969 #if !O0225_TID_BASED_IL_RPS_DERIV
     969#if !O0225_TID_BASED_IL_RPS_DERIV || Q0060_MAX_TID_REF_EQUAL_TO_ZERO
    970970      pcSlice->setActiveNumILRRefIdx( activeNumILRRefIdxTmp );
    971971#endif
Note: See TracChangeset for help on using the changeset viewer.