Changeset 514 in SHVCSoftware for branches/SHM-4.1-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
13 Dec 2013, 23:00:20 (11 years ago)
Author:
sharp
Message:
  1. Deshpande (Sharp) <sdeshpande@…>

-Signal max temporal sub-layers for each layer in the VPS, with a gating flag, from JCTVC-O0120.
-IL RPS derivation based on max temporal sub-layers per layer in VPS from JCTVC-O0120.

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

Legend:

Unmodified
Added
Removed
  • branches/SHM-4.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r512 r514  
    11091109  }
    11101110#endif
     1111#if VPS_TSLAYERS
     1112    READ_FLAG( uiCode, "vps_sub_layers_max_minus1_present_flag"); vps->setMaxTSLayersPresentFlag(uiCode ? true : false);
     1113    if (vps->getMaxTSLayersPresentFlag())
     1114    {
     1115        for(i = 0; i < vps->getMaxLayers() - 1; i++)
     1116        {
     1117            READ_CODE( 3, uiCode, "sub_layers_vps_max_minus1[i]" ); vps->setMaxTSLayersMinus1(i, uiCode);
     1118        }
     1119    }
     1120    else
     1121    {
     1122        for( i = 0; i < vps->getMaxLayers() - 1; i++)
     1123        {
     1124            vps->setMaxTSLayersMinus1(i, vps->getMaxTLayers()-1);
     1125        }
     1126    }
     1127#endif
    11111128#if JCTVC_M0203_INTERLAYER_PRED_IDC
    11121129#if N0120_MAX_TID_REF_PRESENT_FLAG
     
    19281945        else
    19291946        {
    1930 #if O0225_TID_BASED_IL_RPS_DERIV
    1931           if(rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(0,rpcSlice->getLayerId()) >  rpcSlice->getTLayer())
     1947#if O0225_TID_BASED_IL_RPS_DERIV && TSLAYERS_IL_RPS
     1948          if( (rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(0,rpcSlice->getLayerId()) >  rpcSlice->getTLayer()) &&
     1949             (rpcSlice->getVPS()->getMaxTSLayersMinus1(0) >=  rpcSlice->getTLayer()) )
    19321950        {
    19331951#endif
    19341952          rpcSlice->setActiveNumILRRefIdx(1);
    19351953          rpcSlice->setInterLayerPredLayerIdc(0,0);
    1936 #if O0225_TID_BASED_IL_RPS_DERIV
     1954#if O0225_TID_BASED_IL_RPS_DERIV && TSLAYERS_IL_RPS
    19371955        }
    19381956#endif
     
    19491967      rpcSlice->setInterLayerPredEnabledFlag(true);
    19501968
    1951 #if O0225_TID_BASED_IL_RPS_DERIV      
     1969#if O0225_TID_BASED_IL_RPS_DERIV && TSLAYERS_IL_RPS
    19521970      Int   numRefLayerPics = 0;
    19531971      Int   i = 0;
     
    19551973      for(i = 0, numRefLayerPics = 0;  i < rpcSlice->getNumILRRefIdx(); i++ )
    19561974      {
    1957         if(rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(rpcSlice->getVPS()->getLayerIdInVps(i),rpcSlice->getLayerId()) >  rpcSlice->getTLayer())
     1975        if(rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(rpcSlice->getVPS()->getLayerIdInVps(i),rpcSlice->getLayerId()) >  rpcSlice->getTLayer() &&
     1976           (rpcSlice->getVPS()->getMaxTSLayersMinus1(rpcSlice->getVPS()->getLayerIdInVps(i)) >=  rpcSlice->getTLayer()) )
    19581977        {         
    19591978          refLayerPicIdc[ numRefLayerPics++ ] = i;
  • branches/SHM-4.1-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r507 r514  
    12191219        if( pcPic->isSpatialEnhLayer(refLayerIdc) )
    12201220        {   
    1221 #if O0098_SCALED_REF_LAYER_ID
     1221/*#if O0098_SCALED_REF_LAYER_ID
    12221222          Window &scalEL = pcSlice->getSPS()->getScaledRefLayerWindowForLayer(pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc));
    12231223#else
    12241224          Window &scalEL = pcSlice->getSPS()->getScaledRefLayerWindow(refLayerIdc);
    1225 #endif
     1225#endif*/
    12261226#if O0215_PHASE_ALIGNMENT
    12271227#if O0194_JOINT_US_BITSHIFT
Note: See TracChangeset for help on using the changeset viewer.